
    &Vf[                        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 ee	eeeeeeeeeeehZd eD             Z ed          d             Z  ed          dd            Z! ed          d             Z" eg d           G d d                      Z#dS )    )keras_export)Adadelta)	Adafactor)Adagrad)Adam)Adamax)AdamW)Ftrl)Lion)LossScaleOptimizer)Nadam)	Optimizer)RMSprop)SGD)serialization_libc                 B    i | ]}|j                                         |S  )__name__lower).0clss     Z/var/www/html/software/conda/lib/python3.11/site-packages/keras/src/optimizers/__init__.py
<dictcomp>r       s(    EEE#CL&&((#EEE    zkeras.optimizers.serializec                 *    t          j        |           S )zReturns the optimizer configuration as a Python dict.

    Args:
        optimizer: An `Optimizer` instance to serialize.

    Returns:
        Python dict which contains the configuration of the optimizer.
    )r   serialize_keras_object)	optimizers    r   	serializer   #   s     3I>>>r   zkeras.optimizers.deserializeNc                     | d                                          t          v r| d                                          | d<   t          j        | t          |          S )a\  Returns a Keras optimizer object via its configuration.

    Args:
        config: Optimizer configuration dictionary.
        custom_objects: Optional dictionary mapping names (strings) to custom
            objects (classes and functions) to be considered during
            deserialization.

    Returns:
        A Keras Optimizer instance.
    
class_name)module_objectscustom_objects)r   ALL_OBJECTS_DICTr   deserialize_keras_object)configr"   s     r   deserializer&   0   s_     l!!##'777%l399;;|5'%   r   zkeras.optimizers.getc                     | dS t          | t                    rt          |           }n,t          | t                    r| i d}t          |          }n| }t          |t                    r|S t          d|            )a@  Retrieves a Keras Optimizer instance.

    Args:
        identifier: Optimizer identifier, one of:
            - String: name of an optimizer
            - Dictionary: configuration dictionary.
            - Keras Optimizer instance (it will be returned unchanged).

    Returns:
        A Keras Optimizer instance.
    N)r    r%   z*Could not interpret optimizer identifier: )
isinstancedictr&   strr   
ValueError)
identifierobjr%   s      r   getr.   H   s     t	J	%	% *%%	J	$	$  *b99&!!#y!! 

N*NN
O
OOr   )zkeras.optimizers.legacy.Adagradzkeras.optimizers.legacy.Adamzkeras.optimizers.legacy.Ftrlzkeras.optimizers.legacy.RMSpropzkeras.optimizers.legacy.SGDz!keras.optimizers.legacy.Optimizerc                       e Zd Zd ZdS )LegacyOptimizerWarningc                      t          d          )Na;  `keras.optimizers.legacy` is not supported in Keras 3. When using `tf.keras`, to continue using a `tf.keras.optimizers.legacy` optimizer, you can install the `tf_keras` package (Keras 2) and set the environment variable `TF_USE_LEGACY_KERAS=True` to configure TensorFlow to use `tf_keras` when accessing `tf.keras`.)ImportError)selfargskwargss      r   __init__zLegacyOptimizerWarning.__init__r   s    P
 
 	
r   N)r   
__module____qualname__r6   r   r   r   r0   r0   g   s#        
 
 
 
 
r   r0   )N)$keras.src.api_exportr   keras.src.optimizers.adadeltar   keras.src.optimizers.adafactorr   keras.src.optimizers.adagradr   keras.src.optimizers.adamr   keras.src.optimizers.adamaxr   keras.src.optimizers.adamwr	   keras.src.optimizers.ftrlr
   keras.src.optimizers.lionr   )keras.src.optimizers.loss_scale_optimizerr   keras.src.optimizers.nadamr   keras.src.optimizers.optimizerr   keras.src.optimizers.rmspropr   keras.src.optimizers.sgdr   keras.src.savingr   ALL_OBJECTSr#   r   r&   r.   r0   r   r   r   <module>rI      s3   - - - - - - 2 2 2 2 2 2 4 4 4 4 4 4 0 0 0 0 0 0 * * * * * * . . . . . . , , , , , , * * * * * * * * * * * * H H H H H H , , , , , , 4 4 4 4 4 4 0 0 0 0 0 0 ( ( ( ( ( ( . . . . . . 	
	 FEEEE  *++	? 	? ,+	? ,--   .-. $%%P P &%P<   	 	
 
 
 
 
 
 
	 	
 
 
r   