
    ij                        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$ ee	e"eeeeeeeeeeeeee hZ%e%D  ci c]  } | jL                  jO                         |  c} Z( ed      d        Z) ed      dd       Z* ed      d        Z+ eg d       G d d             Z,yc c} w )    )keras_export)Adadelta)	Adafactor)Adagrad)Adam)Adamax)AdamW)Ftrl)Lion)LossScaleOptimizer)MultiOptimizer)OptimizerMap)Muon)Nadam)	Optimizer)RMSprop)ScheduleFreeAdamW)SGD)serialization_libz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/var/www/html/emotional.easysim.app/public_html/venv/lib/python3.12/site-packages/keras/src/optimizers/__init__.py	serializer   +   s     33I>>    zkeras.optimizers.deserializeNc                     | d   j                         t        v r| d   j                         | 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)lowerALL_OBJECTS_DICTr   deserialize_keras_object)configr   s     r   deserializer$   8   sO     l!!#'77%l399;|55'% r   zkeras.optimizers.getc                     | y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,   P   sf     	J	%*%	J	$ *b9&!#y!

A*N
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y)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__z   s    P
 	
r   N)__name__
__module____qualname__r4    r   r   r.   r.   o   s    
r   r.   )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.multi_optimizerr   r   keras.src.optimizers.muonr   keras.src.optimizers.nadamr   keras.src.optimizers.optimizerr   keras.src.optimizers.rmspropr   (keras.src.optimizers.schedule_free_adamwr   keras.src.optimizers.sgdr   keras.src.savingr   ALL_OBJECTSr5   r    r!   r   r$   r,   r.   )clss   0r   <module>rM      s   - 2 4 0 * . , * * H ? = * , 4 0 F ( . 	
	#& :EE#CLL&&(#-E  *+	? ,	? ,- .. $%P &P< 	
 
	
c Fs   
"C2