
    6bi9                     	   S r SSKJs  Jr  SSKJr  SSKJr  SSK	J
r
  SSK	Jr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK J!r!  SSK J"r"  SSK#J$r$  SSK#J%r%  SSK&J'r'  SSK&J(r(  SSK)J*r*  SSK)J+r+  SSK,J-r-  SSK,J.r.  SSK/J0r0  SSK/J1r1  SSK2J3r3  SSK4J5r5  SSK6J7r7  SS K6J8r8  SS!K9J:r:  SS"K9J;r;  SS#K<J=r=  SS$K>J?r?  SS%K@JArA  SS&KBJCrC  SS'KDJErE  SS(KFJGrG  SS)KHJIrI  SS*KJJKrK  SS+KJJLrL  SS,KJJMrM  SS-KJJNrN  SS.KJJOrO  SS/KPJQrQ  SS0KRJSrS  SS1KTJUrU  SS2KTJVrV  SS3KWJXrX  SS4KWJYrY  SS5KZJ[r[  SS6KZJ\r\  SS7K]J^r^  SS8K]J_r_  SS9K`Jara  SS:K`Jbrb  SS;KcJdrd  SS<KcJere  SS=KfJgrg  SS>KfJhrh  SS?KiJjrj  SS@KiJkrk  SSAKlJmrm  SSBKnJoro  SSCKpJqrq  SSDKrJsrs  SSEKtJuru  SSFKvJwrw  SSGKxJyry  SSHKzJ{r{  SSIK|J}r}  SSJK~Jr  SSKK~Jr  SSLK~Jr  SSMK~Jr  SSNK~Jr  SSOK~Jr  SSPK~Jr  SSQK~Jr  SSRK~Jr  SSSK~Jr  SSTK~Jr  SSUK~Jr  SSVKJr  SSWKJr  SSXKJr  SSYKJr  SSZKJr  SS[KJr  SS\KJr  SS]KJr  SS^KJr  SS_KJr  SS`KJr  SSaKJr  SSbKJr  SScKJr  SSdKJr  SSeKJr  SSfKJr  SSgKJr  SShKJr  SSiKJr  SSjKJr  SSkKJr  SSlKJr  SSmKJr  SSnKJr  \GRz                  GR|                  GR                  5       (       a  SSoKlJr  SSoKJr  \rOSSoKlJr  SSoKJr  \rSSpKJr  SSqKJr  SSrKJr  SSsKJr  SStKJr  SSuKJr  SSvKJr  SSwKJr  SSxKJr  SSyKJr  SSzKJr  SS{KJr  SS|KJr  SS}KJr  SS~KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  \GRz                  GR|                  GR                  5       (       a<  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  \r\Gr \Gr\GrO;SSKJr  SSKJGr   SSKJr  SSKJr  SSKJGr  SSKJGr  SSKJr  SSKJr  \r\r\r\rSSGKGJGr  SSGKGJGr  SSGKGJGr  SSGK	GJ
Gr
  SSGK	GJGr  SSGK	GJGr  SSGKGJGr  SSGKGJGr  SSGKGJGr  SSGKGJGr  SSGKGJGr  SSGKGJGr  SSGKGJGr  SSGKGJGr  SSGKGJGr  SSGKGJGr   " S S5      Grg)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                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )VersionAwareLayersi%  a  Utility to be used internally to access layers in a V1/V2-aware fashion.

When using layers within the TF-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                    > [         R                  " 5         U[         R                  R                  ;   a  [         R                  R                  U   $ [        TU ]  U5      $ )N)r   populate_deserializable_objectsLOCALALL_OBJECTSsuper__getattr__)selfname	__class__s     V/home/james-whalen/.local/lib/python3.13/site-packages/tf_keras/src/layers/__init__.pyr   VersionAwareLayers.__getattr__0  sJ    557=&&222 &&22488w"4((     )__name__
__module____qualname____firstlineno____doc__r   __static_attributes____classcell__)r   s   @r   r   r   %  s    ) )r   r   (  r   tensorflow.compat.v2compatv2tftf_keras.src.engine.base_layerr   ,tf_keras.src.engine.base_preprocessing_layerr   tf_keras.src.engine.input_layerr   r   tf_keras.src.engine.input_specr   "tf_keras.src.layers.activation.elur   )tf_keras.src.layers.activation.leaky_relur	   $tf_keras.src.layers.activation.prelur
   #tf_keras.src.layers.activation.relur   &tf_keras.src.layers.activation.softmaxr   /tf_keras.src.layers.activation.thresholded_relur   0tf_keras.src.layers.attention.additive_attentionr   'tf_keras.src.layers.attention.attentionr   2tf_keras.src.layers.attention.multi_head_attentionr   (tf_keras.src.layers.convolutional.conv1dr   r   2tf_keras.src.layers.convolutional.conv1d_transposer   r   (tf_keras.src.layers.convolutional.conv2dr   r   2tf_keras.src.layers.convolutional.conv2d_transposer   r   (tf_keras.src.layers.convolutional.conv3dr   r   2tf_keras.src.layers.convolutional.conv3d_transposer   r   2tf_keras.src.layers.convolutional.depthwise_conv1dr   2tf_keras.src.layers.convolutional.depthwise_conv2dr   2tf_keras.src.layers.convolutional.separable_conv1dr   r    2tf_keras.src.layers.convolutional.separable_conv2dr!   r"   #tf_keras.src.layers.core.activationr#   tf_keras.src.layers.core.denser$   %tf_keras.src.layers.core.einsum_denser%   "tf_keras.src.layers.core.embeddingr&   !tf_keras.src.layers.core.identityr'   %tf_keras.src.layers.core.lambda_layerr(    tf_keras.src.layers.core.maskingr)   $tf_keras.src.layers.core.tf_op_layerr*   r+   r,   r-   r.   9tf_keras.src.layers.locally_connected.locally_connected1dr/   9tf_keras.src.layers.locally_connected.locally_connected2dr0   tf_keras.src.layers.merging.addr1   r2   #tf_keras.src.layers.merging.averager3   r4   'tf_keras.src.layers.merging.concatenater5   r6   tf_keras.src.layers.merging.dotr7   r8   #tf_keras.src.layers.merging.maximumr9   r:   #tf_keras.src.layers.merging.minimumr;   r<   $tf_keras.src.layers.merging.multiplyr=   r>   $tf_keras.src.layers.merging.subtractr?   r@   5tf_keras.src.layers.normalization.batch_normalizationrA   5tf_keras.src.layers.normalization.group_normalizationrB   5tf_keras.src.layers.normalization.layer_normalizationrC   4tf_keras.src.layers.normalization.unit_normalizationrD   8tf_keras.src.layers.normalization.spectral_normalizationrE   3tf_keras.src.layers.preprocessing.category_encodingrF   0tf_keras.src.layers.preprocessing.discretizationrG   1tf_keras.src.layers.preprocessing.hashed_crossingrH   )tf_keras.src.layers.preprocessing.hashingrI   5tf_keras.src.layers.preprocessing.image_preprocessingrJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   0tf_keras.src.layers.preprocessing.integer_lookuprV   /tf_keras.src.layers.preprocessing.normalizationrW   /tf_keras.src.layers.preprocessing.string_lookuprX   4tf_keras.src.layers.preprocessing.text_vectorizationrY   :tf_keras.src.layers.regularization.activity_regularizationrZ   0tf_keras.src.layers.regularization.alpha_dropoutr[   *tf_keras.src.layers.regularization.dropoutr\   3tf_keras.src.layers.regularization.gaussian_dropoutr]   1tf_keras.src.layers.regularization.gaussian_noiser^   4tf_keras.src.layers.regularization.spatial_dropout1dr_   4tf_keras.src.layers.regularization.spatial_dropout2dr`   4tf_keras.src.layers.regularization.spatial_dropout3dra   (tf_keras.src.layers.reshaping.cropping1drb   (tf_keras.src.layers.reshaping.cropping2drc   (tf_keras.src.layers.reshaping.cropping3drd   %tf_keras.src.layers.reshaping.flattenre   %tf_keras.src.layers.reshaping.permuterf   +tf_keras.src.layers.reshaping.repeat_vectorrg   %tf_keras.src.layers.reshaping.reshaperh   +tf_keras.src.layers.reshaping.up_sampling1dri   +tf_keras.src.layers.reshaping.up_sampling2drj   +tf_keras.src.layers.reshaping.up_sampling3drk   ,tf_keras.src.layers.reshaping.zero_padding1drl   ,tf_keras.src.layers.reshaping.zero_padding2drm   ,tf_keras.src.layers.reshaping.zero_padding3drn   __internal__tf2enabledro   8tf_keras.src.layers.normalization.batch_normalization_v1BatchNormalizationV1BatchNormalizationV2tf_keras.src.layers.kernelizedrp   -tf_keras.src.layers.pooling.average_pooling1drq   rr   -tf_keras.src.layers.pooling.average_pooling2drs   rt   -tf_keras.src.layers.pooling.average_pooling3dru   rv   4tf_keras.src.layers.pooling.global_average_pooling1drw   rx   4tf_keras.src.layers.pooling.global_average_pooling2dry   rz   4tf_keras.src.layers.pooling.global_average_pooling3dr{   r|   0tf_keras.src.layers.pooling.global_max_pooling1dr}   r~   0tf_keras.src.layers.pooling.global_max_pooling2dr   r   0tf_keras.src.layers.pooling.global_max_pooling3dr   r   )tf_keras.src.layers.pooling.max_pooling1dr   r   )tf_keras.src.layers.pooling.max_pooling2dr   r   )tf_keras.src.layers.pooling.max_pooling3dr   r   )tf_keras.src.layers.rnn.abstract_rnn_cellr    tf_keras.src.layers.rnn.base_rnnr   "tf_keras.src.layers.rnn.simple_rnnr   r   )tf_keras.src.layers.rnn.stacked_rnn_cellsr   tf_keras.src.layers.rnn.grur   r   tf_keras.src.layers.rnn.gru_v1GRUV1	GRUCellV1tf_keras.src.layers.rnn.lstmr   r   tf_keras.src.layers.rnn.lstm_v1LSTMV1
LSTMCellV1GRUV2	GRUCellV2LSTMV2
LSTMCellV2tf_keras.src.layersr   $tf_keras.src.layers.rnn.base_wrapperr   %tf_keras.src.layers.rnn.bidirectionalr   %tf_keras.src.layers.rnn.cell_wrappersr   r   r   #tf_keras.src.layers.rnn.conv_lstm1dr   #tf_keras.src.layers.rnn.conv_lstm2dr   #tf_keras.src.layers.rnn.conv_lstm3dr   !tf_keras.src.layers.rnn.cudnn_grur   "tf_keras.src.layers.rnn.cudnn_lstmr   (tf_keras.src.layers.rnn.time_distributedr   !tf_keras.src.layers.serializationr   r   r   r   r   r   r   r   <module>r6     s&    " ! 0 K 2 6 4 2 ? 6 5 : K N = R < B N < B N < B N O N N O
 ; 0 = 8 6 8 4 < ? A @ ; 0 / 7 7 ? ? / / 7 7 7 7 9 9 9 9
 U T R
 Q K L = M R P L L N P S M L K J J I H R J ? O K Q Q Q @ ? ? 9 9 D 9 D D D F F F??   . . A K C J C J C Q Q Q L O L O L O ? B ? B ? B E 1 8 < E??  /3;C15>FEIFJ8@26;C48EIFJ . - 9 8 ? ? @ ? @ @ A A ; : : : : : 6 6 9 8 D D 9 9 C C ? ? 7 7) )r   