o
    bi                     @   s8   d dl mZ d dlmZ d dlmZ G dd deZdS )    )backend)	InputSpec)Layerc                       s@   e Zd ZdZ	d fdd	Zdd Zdd	 Z fd
dZ  ZS )BaseGlobalPoolingzBase global pooling layer.NFc                    s@   t  jdi | t|| _|| _t|d d| _|   d S )N   )ndim )	super__init__r   standardize_data_formatdata_formatkeepdimsr   
input_spec_build_at_init)selfpool_dimensionsr   r   kwargs	__class__r   `/home/ubuntu/.local/lib/python3.10/site-packages/keras/src/layers/pooling/base_global_pooling.pyr
   	   s
   zBaseGlobalPooling.__init__c                 C   s   t )N)NotImplementedError)r   inputsr   r   r   call   s   zBaseGlobalPooling.callc                 C   sz   t |d }| jdkr&| jr|d fd|  |d f S |d f|d f S | jr5|d |d fd|  S |d |d fS )Nr   channels_lastr   )   r   )lenr   r   )r   input_shapenum_spatial_dimsr   r   r   compute_output_shape   s   
z&BaseGlobalPooling.compute_output_shapec                    s"   t   }|| j| jd |S )N)r   r   )r	   
get_configupdater   r   )r   configr   r   r   r    *   s   
zBaseGlobalPooling.get_config)NF)	__name__
__module____qualname____doc__r
   r   r   r    __classcell__r   r   r   r   r      s    r   N)	keras.srcr   keras.src.layers.input_specr   keras.src.layers.layerr   r   r   r   r   r   <module>   s    