
    2Vh,                     B   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l0m1Z1 d dl2m3Z3 d dl2m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m:Z: d dl;m<Z< d d l=m>Z> d d!l?m@Z@ d d"l?mAZA d d#lBmCZC d d$lBmDZD d d%lEmFZF d d&lEmGZG d d'lHmIZI d d(lHmJZJ d d)lKmLZL d d*lKmMZM d d+lNmOZO d d,lNmPZP d d-lQmRZR d d.lQmSZS d d/lTmUZU d d0lTmVZV d d1lWmXZX d d2lYmZZZ d d3l[m\Z\ d d4l]m^Z^ d d5l_m`Z` d d6lambZb d d7lcmdZd d d8lemfZf d d9lgmhZh d d:limjZj d d;lkmlZl d d<lmmnZn d d=lompZp d d>lqmrZr d d?lsmtZt d d@lumvZv d dAlwmxZx d dBlymzZz d dCl{m|Z| d dDl}m~Z~ d dElmZ d dFlmZ d dGlmZ d dHlmZ d dIlmZ d dJlmZ d dKlmZ d dLlmZ d dMlmZ d dNlmZ d dOlmZ d 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 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 d dolmZ d 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 dl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  ed      d        Z ed      dd       Zy)    )keras_export)
Activation)ELU)	LeakyReLU)PReLU)ReLU)Softmax)AdditiveAttention)	Attention)GroupedQueryAttention)MultiHeadAttention)Conv1D)Conv1DTranspose)Conv2D)Conv2DTranspose)Conv3D)Conv3DTranspose)DepthwiseConv1D)DepthwiseConv2D)SeparableConv1D)SeparableConv2D)Dense)EinsumDense)	Embedding)Identity)Input)
InputLayer)Lambda)Masking)Wrapper)	InputSpec)Layer)Add)add)Average)average)Concatenate)concatenate)Dot)dot)Maximum)maximum)Minimum)minimum)Multiply)multiply)Subtract)subtract)BatchNormalization)GroupNormalization)LayerNormalization)RMSNormalization)SpectralNormalization)UnitNormalization)AveragePooling1D)AveragePooling2D)AveragePooling3D)GlobalAveragePooling1D)GlobalAveragePooling2D)GlobalAveragePooling3D)GlobalMaxPooling1D)GlobalMaxPooling2D)GlobalMaxPooling3D)MaxPooling1D)MaxPooling2D)MaxPooling3D)CategoryEncoding)Discretization)HashedCrossing)Hashing)AugMix)AutoContrast)
CenterCrop)CutMix)Equalization)MaxNumBoundingBoxes)MixUp)RandAugment)RandomBrightness)RandomColorDegeneration)RandomColorJitter)RandomContrast)
RandomCrop)RandomElasticTransform)RandomErasing)
RandomFlip)RandomGaussianBlur)RandomGrayscale)	RandomHue)RandomInvert)RandomPerspective)RandomPosterization)RandomRotation)RandomSaturation)RandomSharpness)RandomShear)RandomTranslation)
RandomZoom)Resizing)Solarization)IndexLookup)IntegerLookup)MelSpectrogram)Normalization)Pipeline)	Rescaling)STFTSpectrogram)StringLookup)TextVectorization)ActivityRegularization)AlphaDropout)Dropout)GaussianDropout)GaussianNoise)SpatialDropout1D)SpatialDropout2D)SpatialDropout3D)
Cropping1D)
Cropping2D)
Cropping3D)Flatten)Permute)RepeatVector)Reshape)UpSampling1D)UpSampling2D)UpSampling3D)ZeroPadding1D)ZeroPadding2D)ZeroPadding3D)Bidirectional)
ConvLSTM1D)
ConvLSTM2D)
ConvLSTM3D)GRU)GRUCell)LSTM)LSTMCell)RNN)	SimpleRNN)SimpleRNNCell)StackedRNNCells)TimeDistributed)serialization_libzkeras.layers.serializec                 ,    t        j                  |       S )zReturns the layer configuration as a Python dict.

    Args:
        layer: A `keras.layers.Layer` instance to serialize.

    Returns:
        Python dict which contains the configuration of the layer.
    )r   serialize_keras_object)layers    I/home/dcms/DCMS/lib/python3.12/site-packages/keras/src/layers/__init__.py	serializer      s     33E::    zkeras.layers.deserializeNc                 p    t        j                  | |      }t        |t              st	        d|        |S )ak  Returns a Keras layer object via its configuration.

    Args:
        config: A python dict containing a serialized layer configuration.
        custom_objects: Optional dictionary mapping names (strings) to custom
            objects (classes and functions) to be considered during
            deserialization.

    Returns:
        A Keras layer instance.
    )custom_objectszf`keras.layers.deserialize` was passed a `config` object that is not a `keras.layers.Layer`. Received: )r   deserialize_keras_object
isinstancer"   
ValueError)configr   objs      r   deserializer      sI     
4
4%C c5!55;H>
 	
 Jr   )N(  keras.src.api_exportr   'keras.src.layers.activations.activationr    keras.src.layers.activations.elur   'keras.src.layers.activations.leaky_relur   "keras.src.layers.activations.prelur   !keras.src.layers.activations.relur   $keras.src.layers.activations.softmaxr	   -keras.src.layers.attention.additive_attentionr
   $keras.src.layers.attention.attentionr   2keras.src.layers.attention.grouped_query_attentionr   /keras.src.layers.attention.multi_head_attentionr   %keras.src.layers.convolutional.conv1dr   /keras.src.layers.convolutional.conv1d_transposer   %keras.src.layers.convolutional.conv2dr   /keras.src.layers.convolutional.conv2d_transposer   %keras.src.layers.convolutional.conv3dr   /keras.src.layers.convolutional.conv3d_transposer   /keras.src.layers.convolutional.depthwise_conv1dr   /keras.src.layers.convolutional.depthwise_conv2dr   /keras.src.layers.convolutional.separable_conv1dr   /keras.src.layers.convolutional.separable_conv2dr   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.input_layerr   r   "keras.src.layers.core.lambda_layerr   keras.src.layers.core.maskingr   keras.src.layers.core.wrapperr    keras.src.layers.input_specr!   keras.src.layers.layerr"   keras.src.layers.merging.addr#   r$    keras.src.layers.merging.averager%   r&   $keras.src.layers.merging.concatenater'   r(   keras.src.layers.merging.dotr)   r*    keras.src.layers.merging.maximumr+   r,    keras.src.layers.merging.minimumr-   r.   !keras.src.layers.merging.multiplyr/   r0   !keras.src.layers.merging.subtractr1   r2   2keras.src.layers.normalization.batch_normalizationr3   2keras.src.layers.normalization.group_normalizationr4   2keras.src.layers.normalization.layer_normalizationr5   0keras.src.layers.normalization.rms_normalizationr6   5keras.src.layers.normalization.spectral_normalizationr7   1keras.src.layers.normalization.unit_normalizationr8   *keras.src.layers.pooling.average_pooling1dr9   *keras.src.layers.pooling.average_pooling2dr:   *keras.src.layers.pooling.average_pooling3dr;   1keras.src.layers.pooling.global_average_pooling1dr<   1keras.src.layers.pooling.global_average_pooling2dr=   1keras.src.layers.pooling.global_average_pooling3dr>   -keras.src.layers.pooling.global_max_pooling1dr?   -keras.src.layers.pooling.global_max_pooling2dr@   -keras.src.layers.pooling.global_max_pooling3drA   &keras.src.layers.pooling.max_pooling1drB   &keras.src.layers.pooling.max_pooling2drC   &keras.src.layers.pooling.max_pooling3drD   0keras.src.layers.preprocessing.category_encodingrE   -keras.src.layers.preprocessing.discretizationrF   .keras.src.layers.preprocessing.hashed_crossingrG   &keras.src.layers.preprocessing.hashingrH   :keras.src.layers.preprocessing.image_preprocessing.aug_mixrI   @keras.src.layers.preprocessing.image_preprocessing.auto_contrastrJ   >keras.src.layers.preprocessing.image_preprocessing.center_croprK   :keras.src.layers.preprocessing.image_preprocessing.cut_mixrL   ?keras.src.layers.preprocessing.image_preprocessing.equalizationrM   Gkeras.src.layers.preprocessing.image_preprocessing.max_num_bounding_boxrN   9keras.src.layers.preprocessing.image_preprocessing.mix_uprO   ?keras.src.layers.preprocessing.image_preprocessing.rand_augmentrP   Dkeras.src.layers.preprocessing.image_preprocessing.random_brightnessrQ   Lkeras.src.layers.preprocessing.image_preprocessing.random_color_degenerationrR   Fkeras.src.layers.preprocessing.image_preprocessing.random_color_jitterrS   Bkeras.src.layers.preprocessing.image_preprocessing.random_contrastrT   >keras.src.layers.preprocessing.image_preprocessing.random_croprU   Kkeras.src.layers.preprocessing.image_preprocessing.random_elastic_transformrV   Akeras.src.layers.preprocessing.image_preprocessing.random_erasingrW   >keras.src.layers.preprocessing.image_preprocessing.random_fliprX   Gkeras.src.layers.preprocessing.image_preprocessing.random_gaussian_blurrY   Ckeras.src.layers.preprocessing.image_preprocessing.random_grayscalerZ   =keras.src.layers.preprocessing.image_preprocessing.random_huer[   @keras.src.layers.preprocessing.image_preprocessing.random_invertr\   Ekeras.src.layers.preprocessing.image_preprocessing.random_perspectiver]   Gkeras.src.layers.preprocessing.image_preprocessing.random_posterizationr^   Bkeras.src.layers.preprocessing.image_preprocessing.random_rotationr_   Dkeras.src.layers.preprocessing.image_preprocessing.random_saturationr`   Ckeras.src.layers.preprocessing.image_preprocessing.random_sharpnessra   ?keras.src.layers.preprocessing.image_preprocessing.random_shearrb   Ekeras.src.layers.preprocessing.image_preprocessing.random_translationrc   >keras.src.layers.preprocessing.image_preprocessing.random_zoomrd   ;keras.src.layers.preprocessing.image_preprocessing.resizingre   ?keras.src.layers.preprocessing.image_preprocessing.solarizationrf   +keras.src.layers.preprocessing.index_lookuprg   -keras.src.layers.preprocessing.integer_lookuprh   .keras.src.layers.preprocessing.mel_spectrogramri   ,keras.src.layers.preprocessing.normalizationrj   'keras.src.layers.preprocessing.pipelinerk   (keras.src.layers.preprocessing.rescalingrl   /keras.src.layers.preprocessing.stft_spectrogramrm   ,keras.src.layers.preprocessing.string_lookuprn   1keras.src.layers.preprocessing.text_vectorizationro   7keras.src.layers.regularization.activity_regularizationrp   -keras.src.layers.regularization.alpha_dropoutrq   'keras.src.layers.regularization.dropoutrr   0keras.src.layers.regularization.gaussian_dropoutrs   .keras.src.layers.regularization.gaussian_noisert   /keras.src.layers.regularization.spatial_dropoutru   rv   rw   %keras.src.layers.reshaping.cropping1drx   %keras.src.layers.reshaping.cropping2dry   %keras.src.layers.reshaping.cropping3drz   "keras.src.layers.reshaping.flattenr{   "keras.src.layers.reshaping.permuter|   (keras.src.layers.reshaping.repeat_vectorr}   "keras.src.layers.reshaping.reshaper~   (keras.src.layers.reshaping.up_sampling1dr   (keras.src.layers.reshaping.up_sampling2dr   (keras.src.layers.reshaping.up_sampling3dr   )keras.src.layers.reshaping.zero_padding1dr   )keras.src.layers.reshaping.zero_padding2dr   )keras.src.layers.reshaping.zero_padding3dr   "keras.src.layers.rnn.bidirectionalr    keras.src.layers.rnn.conv_lstm1dr    keras.src.layers.rnn.conv_lstm2dr    keras.src.layers.rnn.conv_lstm3dr   keras.src.layers.rnn.grur   r   keras.src.layers.rnn.lstmr   r   keras.src.layers.rnn.rnnr   keras.src.layers.rnn.simple_rnnr   r   &keras.src.layers.rnn.stacked_rnn_cellsr   %keras.src.layers.rnn.time_distributedr   keras.src.savingr   r   r    r   r   <module>r$     sh   - > 0 = 4 2 8 K : O 8 K 8 K 8 K K K K K - : 5 3 3 8 5 1 1 1 ( , , 4 4 < < , , 4 4 4 4 6 6 6 6 N P G G G M L L ? ? ? M H I : M N L Q D G I F < > K E O G ; L H L L L < < < 6 6 A 6 A A A C C C < 7 7 7 ( ( , , * * . . ( ( 5 5 9 9 B B A A . . &'	; (	; () *r   