
    &Vf:                         d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	  ed           G d de                      Z
d	S )
    )ops)keras_export)	InputSpec)Layer)argument_validationzkeras.layers.ZeroPadding1Dc                   :     e Zd ZdZd fd	Zd Zd Z fdZ xZS )ZeroPadding1Da  Zero-padding layer for 1D input (e.g. temporal sequence).

    Example:

    >>> input_shape = (2, 2, 3)
    >>> x = np.arange(np.prod(input_shape)).reshape(input_shape)
    >>> x
    [[[ 0  1  2]
      [ 3  4  5]]
     [[ 6  7  8]
      [ 9 10 11]]]
    >>> y = keras.layers.ZeroPadding1D(padding=2)(x)
    >>> y
    [[[ 0  0  0]
      [ 0  0  0]
      [ 0  1  2]
      [ 3  4  5]
      [ 0  0  0]
      [ 0  0  0]]
     [[ 0  0  0]
      [ 0  0  0]
      [ 6  7  8]
      [ 9 10 11]
      [ 0  0  0]
      [ 0  0  0]]]

    Args:
        padding: Int, or tuple of int (length 2), or dictionary.
            - If int: how many zeros to add at the beginning and end of
              the padding dimension (axis 1).
            - If tuple of 2 ints: how many zeros to add at the beginning and the
              end of the padding dimension (`(left_pad, right_pad)`).

    Input shape:
        3D tensor with shape `(batch_size, axis_to_pad, features)`

    Output shape:
        3D tensor with shape `(batch_size, padded_axis, features)`
       c                      t                      j        di | t          j        |ddd          | _        t          d          | _        d S )N   paddingT)
allow_zero   )ndim )super__init__r   standardize_tupler   r   
input_spec)selfr   kwargs	__class__s      f/var/www/html/software/conda/lib/python3.11/site-packages/keras/src/layers/reshaping/zero_padding1d.pyr   zZeroPadding1D.__init__2   sZ    ""6"""*<Q	d
 
 
 $+++    c                     t          |          }|d         )|dxx         | j        d         | j        d         z   z  cc<   t          |          S )Nr
   r   )listr   tuple)r   input_shapeoutput_shapes      r   compute_output_shapez"ZeroPadding1D.compute_output_shape9   sN    K((?&OOOt|Aa@@OOO\"""r   c                 @    d| j         df}t          j        ||          S )N)r   r   )r   r   pad)r   inputsall_dims_paddings      r   callzZeroPadding1D.call?   s$    "DL&9wv/000r   c                 b    d| j         i}t                                                      }i ||S )Nr   )r   r   
get_config)r   configbase_configr   s      r   r'   zZeroPadding1D.get_configC   s4    T\*gg((**(+(((r   )r
   )	__name__
__module____qualname____doc__r   r    r%   r'   __classcell__)r   s   @r   r	   r	      s        & &P, , , , , ,# # #1 1 1) ) ) ) ) ) ) ) )r   r	   N)	keras.srcr   keras.src.api_exportr   keras.src.layers.input_specr   keras.src.layers.layerr   keras.src.utilsr   r	   r   r   r   <module>r4      s          - - - - - - 1 1 1 1 1 1 ( ( ( ( ( ( / / / / / / *++=) =) =) =) =)E =) =) ,+=) =) =)r   