o
    i e                     @   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 3D layer.    )backend)GlobalPooling3D)keras_exportzkeras.layers.GlobalMaxPooling3Dzkeras.layers.GlobalMaxPool3Dc                   @   s   e Zd ZdZdd ZdS )GlobalMaxPooling3Da  Global Max pooling operation for 3D data.

    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, spatial_dim1, spatial_dim2, spatial_dim3, channels)`
        while `channels_first` corresponds to inputs with shape
        `(batch, channels, spatial_dim1, spatial_dim2, spatial_dim3)`.
        When unspecified, uses
        `image_data_format` value found in your Keras config file at
         `~/.keras/keras.json` (if exists) else 'channels_last'.
        Defaults to 'channels_last'.
      keepdims: A boolean, whether to keep the spatial dimensions or not.
        If `keepdims` is `False` (default), the rank of the tensor is reduced
        for spatial dimensions.
        If `keepdims` is `True`, the spatial dimensions 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'`:
        5D tensor with shape:
        `(batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)`
      - If `data_format='channels_first'`:
        5D tensor with shape:
        `(batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3)`

    Output shape:
      - If `keepdims`=False:
        2D tensor with shape `(batch_size, channels)`.
      - If `keepdims`=True:
        - If `data_format='channels_last'`:
          5D tensor with shape `(batch_size, 1, 1, 1, channels)`
        - If `data_format='channels_first'`:
          5D tensor with shape `(batch_size, channels, 1, 1, 1)`
    c                 C   s6   | j dkrtj|g d| jdS tj|g d| jdS )Nchannels_last)         )axiskeepdims)r   r	      )data_formatr   maxr   )selfinputs r   \/var/www/myenv/lib/python3.10/site-packages/keras/src/layers/pooling/global_max_pooling3d.pycallB   s   
zGlobalMaxPooling3D.callN)__name__
__module____qualname____doc__r   r   r   r   r   r      s    'r   N)	r   	keras.srcr   .keras.src.layers.pooling.base_global_pooling3dr    tensorflow.python.util.tf_exportr   r   GlobalMaxPool3Dr   r   r   r   <module>   s   1