o
    i e6                     @   s	  d Z ddlm  mZ 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 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 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! 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( ddl)m*Z* ddl)m+Z+ ddl,m-Z- ddl,m.Z. ddl/m0Z0 ddl/m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 dd l6m8Z8 dd!l9m:Z: dd"l9m;Z; dd#l<m=Z= dd$l>m?Z? dd%l@mAZA dd&lBmCZC dd'lDmEZE dd(lFmGZG dd)lHmIZI dd*lJmKZK dd+lJmLZL dd,lJmMZM dd-lJmNZN dd.lJmOZO dd/lPmQZQ dd0lRmSZS dd1lTmUZU dd2lTmVZV dd3lWmXZX dd4lWmYZY dd5lZm[Z[ dd6lZm\Z\ dd7l]m^Z^ dd8l]m_Z_ dd9l`maZa dd:l`mbZb dd;lcmdZd dd<lcmeZe dd=lfmgZg dd>lfmhZh dd?limjZj dd@limkZk ddAllmmZm ddBlnmoZo ddClpmqZq ddDlrmsZs ddEltmuZu ddFlvmwZw ddGlxmyZy ddHlzm{Z{ ddIl|m}Z} ddJl~mZ ddKl~mZ ddLl~mZ ddMl~mZ ddNl~mZ ddOl~mZ ddPl~mZ ddQl~mZ ddRl~mZ ddSl~mZ ddTl~mZ ddUl~mZ ddVlmZ ddWlmZ ddXlmZ ddYlmZ ddZlmZ dd[lmZ dd\lmZ dd]lmZ dd^lmZ dd_lmZ dd`lmZ ddalmZ ddblmZ ddclmZ dddlmZ ddelmZ ddflmZ ddglmZ ddhlmZ ddilmZ ddjlmZ ddklmZ ddllmZ ddmlmZ ddnlmZ ejj rddollmZ ddolmZ eZnddollmZ ddolmZ eZddplmZ ddqlmZ ddrlmZ ddslmZ ddtlmZ ddulmZ ddvlmZ ddwlmZ ddxlmZ ddylmZ ddzlmZ dd{lmZ dd|lmZ dd}lmZ dd~lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ejj rddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ eZeZ eZeZn;ddlmZ ddlmZ  ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ eZeZeZeZddlmZ 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 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 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 G dd dZdS )zKeras layers API.    N)Layer)PreprocessingLayer)Input)
InputLayer)	InputSpec)ELU)	LeakyReLU)PReLU)ReLU)Softmax)ThresholdedReLU)AdditiveAttention)	Attention)MultiHeadAttention)Conv1D)Convolution1D)Conv1DTranspose)Convolution1DTranspose)Conv2D)Convolution2D)Conv2DTranspose)Convolution2DTranspose)Conv3D)Convolution3D)Conv3DTranspose)Convolution3DTranspose)DepthwiseConv1D)DepthwiseConv2D)SeparableConv1D)SeparableConvolution1D)SeparableConv2D)SeparableConvolution2D)
Activation)Dense)EinsumDense)	Embedding)Identity)Lambda)Masking)ClassMethod)InstanceMethod)InstanceProperty)SlicingOpLambda)
TFOpLambda)LocallyConnected1D)LocallyConnected2D)Add)add)Average)average)Concatenate)concatenate)Dot)dot)Maximum)maximum)Minimum)minimum)Multiply)multiply)Subtract)subtract)SyncBatchNormalization)GroupNormalization)LayerNormalization)UnitNormalization)SpectralNormalization)CategoryEncoding)Discretization)HashedCrossing)Hashing)
CenterCrop)RandomBrightness)RandomContrast)
RandomCrop)
RandomFlip)RandomHeight)RandomRotation)RandomTranslation)RandomWidth)
RandomZoom)	Rescaling)Resizing)IntegerLookup)Normalization)StringLookup)TextVectorization)ActivityRegularization)AlphaDropout)Dropout)GaussianDropout)GaussianNoise)SpatialDropout1D)SpatialDropout2D)SpatialDropout3D)
Cropping1D)
Cropping2D)
Cropping3D)Flatten)Permute)RepeatVector)Reshape)UpSampling1D)UpSampling2D)UpSampling3D)ZeroPadding1D)ZeroPadding2D)ZeroPadding3D)BatchNormalization)RandomFourierFeatures)AveragePooling1D)	AvgPool1D)AveragePooling2D)	AvgPool2D)AveragePooling3D)	AvgPool3D)GlobalAveragePooling1D)GlobalAvgPool1D)GlobalAveragePooling2D)GlobalAvgPool2D)GlobalAveragePooling3D)GlobalAvgPool3D)GlobalMaxPool1D)GlobalMaxPooling1D)GlobalMaxPool2D)GlobalMaxPooling2D)GlobalMaxPool3D)GlobalMaxPooling3D)	MaxPool1D)MaxPooling1D)	MaxPool2D)MaxPooling2D)	MaxPool3D)MaxPooling3D)AbstractRNNCell)RNN)	SimpleRNN)SimpleRNNCell)StackedRNNCells)GRU)GRUCell)LSTM)LSTMCell)serialization)Wrapper)Bidirectional)DeviceWrapper)DropoutWrapper)ResidualWrapper)
ConvLSTM1D)
ConvLSTM2D)
ConvLSTM3D)CuDNNGRU)	CuDNNLSTM)TimeDistributed)deserialize)deserialize_from_json)get_builtin_layer)	serializec                       s    e Zd ZdZ fddZ  ZS )VersionAwareLayersa  Utility to be used internally to access layers in a V1/V2-aware fashion.

    When using layers within the Keras codebase, under the constraint that
    e.g. `layers.BatchNormalization` should be the `BatchNormalization` version
    corresponding to the current runtime (TF1 or TF2), do not simply access
    `layers.BatchNormalization` since it would ignore e.g. an early
    `compat.v2.disable_v2_behavior()` call. Instead, use an instance
    of `VersionAwareLayers` (which you can use just like the `layers` module).
    c                    s,   t   |t jjv rt jj| S t |S )N)r   populate_deserializable_objectsLOCALALL_OBJECTSsuper__getattr__)selfname	__class__ H/var/www/myenv/lib/python3.10/site-packages/keras/src/layers/__init__.pyr      s   zVersionAwareLayers.__getattr__)__name__
__module____qualname____doc__r   __classcell__r   r   r   r   r     s    
r   (  r   tensorflow.compat.v2compatv2tfkeras.src.engine.base_layerr   )keras.src.engine.base_preprocessing_layerr   keras.src.engine.input_layerr   r   keras.src.engine.input_specr   keras.src.layers.activation.elur   &keras.src.layers.activation.leaky_relur   !keras.src.layers.activation.prelur	    keras.src.layers.activation.relur
   #keras.src.layers.activation.softmaxr   ,keras.src.layers.activation.thresholded_relur   -keras.src.layers.attention.additive_attentionr   $keras.src.layers.attention.attentionr   /keras.src.layers.attention.multi_head_attentionr   %keras.src.layers.convolutional.conv1dr   r   /keras.src.layers.convolutional.conv1d_transposer   r   %keras.src.layers.convolutional.conv2dr   r   /keras.src.layers.convolutional.conv2d_transposer   r   %keras.src.layers.convolutional.conv3dr   r   /keras.src.layers.convolutional.conv3d_transposer   r   /keras.src.layers.convolutional.depthwise_conv1dr   /keras.src.layers.convolutional.depthwise_conv2dr   /keras.src.layers.convolutional.separable_conv1dr   r   /keras.src.layers.convolutional.separable_conv2dr    r!    keras.src.layers.core.activationr"   keras.src.layers.core.denser#   "keras.src.layers.core.einsum_denser$   keras.src.layers.core.embeddingr%   keras.src.layers.core.identityr&   "keras.src.layers.core.lambda_layerr'   keras.src.layers.core.maskingr(   !keras.src.layers.core.tf_op_layerr)   r*   r+   r,   r-   6keras.src.layers.locally_connected.locally_connected1dr.   6keras.src.layers.locally_connected.locally_connected2dr/   keras.src.layers.merging.addr0   r1    keras.src.layers.merging.averager2   r3   $keras.src.layers.merging.concatenater4   r5   keras.src.layers.merging.dotr6   r7    keras.src.layers.merging.maximumr8   r9    keras.src.layers.merging.minimumr:   r;   !keras.src.layers.merging.multiplyr<   r=   !keras.src.layers.merging.subtractr>   r?   2keras.src.layers.normalization.batch_normalizationr@   2keras.src.layers.normalization.group_normalizationrA   2keras.src.layers.normalization.layer_normalizationrB   1keras.src.layers.normalization.unit_normalizationrC   5keras.src.layers.normalization.spectral_normalizationrD   0keras.src.layers.preprocessing.category_encodingrE   -keras.src.layers.preprocessing.discretizationrF   .keras.src.layers.preprocessing.hashed_crossingrG   &keras.src.layers.preprocessing.hashingrH   2keras.src.layers.preprocessing.image_preprocessingrI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   -keras.src.layers.preprocessing.integer_lookuprU   ,keras.src.layers.preprocessing.normalizationrV   ,keras.src.layers.preprocessing.string_lookuprW   1keras.src.layers.preprocessing.text_vectorizationrX   7keras.src.layers.regularization.activity_regularizationrY   -keras.src.layers.regularization.alpha_dropoutrZ   'keras.src.layers.regularization.dropoutr[   0keras.src.layers.regularization.gaussian_dropoutr\   .keras.src.layers.regularization.gaussian_noiser]   1keras.src.layers.regularization.spatial_dropout1dr^   1keras.src.layers.regularization.spatial_dropout2dr_   1keras.src.layers.regularization.spatial_dropout3dr`   %keras.src.layers.reshaping.cropping1dra   %keras.src.layers.reshaping.cropping2drb   %keras.src.layers.reshaping.cropping3drc   "keras.src.layers.reshaping.flattenrd   "keras.src.layers.reshaping.permutere   (keras.src.layers.reshaping.repeat_vectorrf   "keras.src.layers.reshaping.reshaperg   (keras.src.layers.reshaping.up_sampling1drh   (keras.src.layers.reshaping.up_sampling2dri   (keras.src.layers.reshaping.up_sampling3drj   )keras.src.layers.reshaping.zero_padding1drk   )keras.src.layers.reshaping.zero_padding2drl   )keras.src.layers.reshaping.zero_padding3drm   __internal__tf2enabledrn   5keras.src.layers.normalization.batch_normalization_v1BatchNormalizationV1BatchNormalizationV2keras.src.layers.kernelizedro   *keras.src.layers.pooling.average_pooling1drp   rq   *keras.src.layers.pooling.average_pooling2drr   rs   *keras.src.layers.pooling.average_pooling3drt   ru   1keras.src.layers.pooling.global_average_pooling1drv   rw   1keras.src.layers.pooling.global_average_pooling2drx   ry   1keras.src.layers.pooling.global_average_pooling3drz   r{   -keras.src.layers.pooling.global_max_pooling1dr|   r}   -keras.src.layers.pooling.global_max_pooling2dr~   r   -keras.src.layers.pooling.global_max_pooling3dr   r   &keras.src.layers.pooling.max_pooling1dr   r   &keras.src.layers.pooling.max_pooling2dr   r   &keras.src.layers.pooling.max_pooling3dr   r   &keras.src.layers.rnn.abstract_rnn_cellr   keras.src.layers.rnn.base_rnnr   keras.src.layers.rnn.simple_rnnr   r   &keras.src.layers.rnn.stacked_rnn_cellsr   keras.src.layers.rnn.grur   r   keras.src.layers.rnn.gru_v1GRUV1	GRUCellV1keras.src.layers.rnn.lstmr   r   keras.src.layers.rnn.lstm_v1LSTMV1
LSTMCellV1GRUV2	GRUCellV2LSTMV2
LSTMCellV2keras.src.layersr   !keras.src.layers.rnn.base_wrapperr   "keras.src.layers.rnn.bidirectionalr   "keras.src.layers.rnn.cell_wrappersr   r   r    keras.src.layers.rnn.conv_lstm1dr    keras.src.layers.rnn.conv_lstm2dr    keras.src.layers.rnn.conv_lstm3dr   keras.src.layers.rnn.cudnn_grur   keras.src.layers.rnn.cudnn_lstmr   %keras.src.layers.rnn.time_distributedr   keras.src.layers.serializationr   r   r   r   r   r   r   r   r   <module>   sz  