o
    i ew                     @   sJ   d Z ddlmZ ddlmZ ddlmZ eddG dd deZeZd	S )
zGlobal max pooling 1D layer.    )backend)GlobalPooling1D)keras_exportzkeras.layers.GlobalMaxPooling1Dzkeras.layers.GlobalMaxPool1Dc                   @   s   e Zd ZdZdd ZdS )GlobalMaxPooling1Da  Global max pooling operation for 1D temporal data.

    Downsamples the input representation by taking the maximum value over
    the time dimension.

    For example:

    >>> x = tf.constant([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])
    >>> x = tf.reshape(x, [3, 3, 1])
    >>> x
    <tf.Tensor: shape=(3, 3, 1), dtype=float32, numpy=
    array([[[1.], [2.], [3.]],
           [[4.], [5.], [6.]],
           [[7.], [8.], [9.]]], dtype=float32)>
    >>> max_pool_1d = tf.keras.layers.GlobalMaxPooling1D()
    >>> max_pool_1d(x)
    <tf.Tensor: shape=(3, 1), dtype=float32, numpy=
    array([[3.],
           [6.],
           [9.], dtype=float32)>

    Args:
      data_format: A string,
        one of `channels_last` (default) or `channels_first`.
        The ordering of the dimensions in the inputs.
        `channels_last` corresponds to inputs with shape
        `(batch, steps, features)` while `channels_first`
        corresponds to inputs with shape
        `(batch, features, steps)`.
      keepdims: A boolean, whether to keep the temporal dimension or not.
        If `keepdims` is `False` (default), the rank of the tensor is reduced
        for spatial dimensions.
        If `keepdims` is `True`, the temporal dimension are retained with
        length 1.
        The behavior is the same as for `tf.reduce_max` or `np.max`.

    Input shape:
      - If `data_format='channels_last'`:
        3D tensor with shape:
        `(batch_size, steps, features)`
      - If `data_format='channels_first'`:
        3D tensor with shape:
        `(batch_size, features, steps)`

    Output shape:
      - If `keepdims`=False:
        2D tensor with shape `(batch_size, features)`.
      - If `keepdims`=True:
        - If `data_format='channels_last'`:
          3D tensor with shape `(batch_size, 1, features)`
        - If `data_format='channels_first'`:
          3D tensor with shape `(batch_size, features, 1)`
    c                 C   s$   | j dkrdnd}tj||| jdS )Nchannels_last      )axiskeepdims)data_formatr   maxr
   )selfinputs
steps_axis r   \/var/www/myenv/lib/python3.10/site-packages/keras/src/layers/pooling/global_max_pooling1d.pycallQ   s   zGlobalMaxPooling1D.callN)__name__
__module____qualname____doc__r   r   r   r   r   r      s    6r   N)	r   	keras.srcr   .keras.src.layers.pooling.base_global_pooling1dr    tensorflow.python.util.tf_exportr   r   GlobalMaxPool1Dr   r   r   r   <module>   s   >