
    ~Wh                        d Z ddlmc 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j        j        j                            dd           Zej        j        j                            dd           Zej        j        j                            dd           Zej        j        j                            dd           Zej        j        j                            dd           Z eeee gZ!ej        j        j                            dd           Z"ej        j        j                            dd           Z#ej        j        j                            dd           Z$ej        j        j                            dd           Z%ej        j        j                            dd           Z&ej        j        j                            dd            Z'ej        j        j                            d!d"           Z(ej        j        j                            d#d$           Z)ej        j        j                            d%d&           Z*e)e#gZ+e!e+z   Z,d' Z-d( Z.d) Z/dS )*z?Strategy and optimizer combinations for combinations.combine().    N)adam)adadelta)adagrad)adamax)ftrl)gradient_descent)nadam)rmspropGradientDescentV1c                  T    t           j        j        j                            d          S NMbP?)tfcompatv1trainGradientDescentOptimizer     m/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/keras/distribute/optimizer_combinations.py<lambda>r   "   s    	";;EBB r   	AdagradV1c                  T    t           j        j        j                            d          S r   )r   r   r   r   AdagradOptimizerr   r   r   r   r   &       +<<UCC r   AdamV1c                  X    t           j        j        j                            dd          S )Nr      epsilon)r   r   r   r   AdamOptimizerr   r   r   r   r   )   s     bil(66ua6HH r   FtrlV1c                  T    t           j        j        j                            d          S r   )r   r   r   r   FtrlOptimizerr   r   r   r   r   ,   s    bil(66u== r   	RmsPropV1c                  T    t           j        j        j                            d          S r   )r   r   r   r   RMSPropOptimizerr   r   r   r   r   /   r   r   AdadeltaKerasV2c                  *    t          j        d          S r   )adadelta_keras_v2Adadeltar   r   r   r   r   ;   s    09%@@ r   AdagradKerasV2c                  *    t          j        d          S r   )adagrad_keras_v2Adagradr   r   r   r   r   >       .6u== r   AdamKerasV2c                  .    t          j        dd          S Nr   g      ?r   )adam_keras_v2Adamr   r   r   r   r   A   s    =-eSAAA r   AdamExperimentalc                  *    t          j        d          S r   )adam_experimentalr5   r   r   r   r   r   D   s     1 6u = = r   AdamaxKerasV2c                  .    t          j        dd          S r3   )adamax_keras_v2Adamaxr   r   r   r   r   G   s    _3E3GGG r   NadamKerasV2c                  .    t          j        dd          S r3   )nadam_keras_v2Nadamr   r   r   r   r   J   s    N0DDD r   FtrlKerasV2c                  *    t          j        d          S r   )ftrl_keras_v2Ftrlr   r   r   r   r   M   s    =-e44 r   GradientDescentKerasV2c                  *    t          j        d          S r   )gradient_descent_keras_v2SGDr   r   r   r   r   Q   s    *C*G*N*N r   RmsPropKerasV2c                  *    t          j        d          S r   )rmsprop_keras_v2RMSpropr   r   r   r   r   U   r0   r   c                  2   t           j        j        j                            t           j        j        j        j        t           j        j        j        j        t           j        j        j        j        t           j        j        j        j	        gt                    S zKA common set of combination with DistributionStrategies and
    Optimizers.)distributionoptimizer_fn)r   __internal__testcombinationscombine
distributeone_device_strategy"mirrored_strategy_with_gpu_and_cpumirrored_strategy_with_two_gpus-mirrored_strategy_with_two_gpus_no_merge_calloptimizers_v1r   r   r   distributions_and_v1_optimizersr[   a   k     ?,44O&3GO&3VO&3SO&3a	
 # 5   r   c                  2   t           j        j        j                            t           j        j        j        j        t           j        j        j        j        t           j        j        j        j        t           j        j        j        j	        gt                    S rN   )r   rQ   rR   rS   rT   rU   rV   rW   rX   rY   optimizers_v2r   r   r   distributions_and_v2_optimizersr_   o   r\   r   c                  2   t           j        j        j                            t           j        j        j        j        t           j        j        j        j        t           j        j        j        j        t           j        j        j        j	        gt                    S rN   )r   rQ   rR   rS   rT   rU   rV   rW   rX   rY   optimizers_v1_and_v2r   r   r   &distributions_and_v1_and_v2_optimizersrb   }   sk     ?,44O&3GO&3VO&3SO&3a	
 * 5   r   )0__doc__tensorflow.compat.v2r   v2r   keras.optimizersr   r8   keras.optimizers.legacyr   r*   r   r.   r4   r   r;   r   rC   r   rG   r	   r?   r
   rK   rQ   rR   rS   NamedObject gradient_descent_optimizer_v1_fnadagrad_optimizer_v1_fnadam_optimizer_v1_fnftrl_optimizer_v1_fnrmsprop_optimizer_v1_fnrZ   adadelta_optimizer_keras_v2_fnadagrad_optimizer_keras_v2_fnadam_optimizer_keras_v2_fnadam_experimental_fnadamax_optimizer_keras_v2_fnnadam_optimizer_keras_v2_fnftrl_optimizer_keras_v2_fn&gradient_descent_optimizer_keras_v2_fnrmsprop_optimizer_keras_v2_fnr^   ra   r[   r_   rb   r   r   r   <module>rw      s   F E ! ! ! ! ! ! ! ! ! 6 6 6 6 6 6 A A A A A A ? ? ? ? ? ? 9 9 9 9 9 9 = = = = = = 9 9 9 9 9 9      < ; ; ; ; ; ? ? ? ? ? ? O%11BB  ! /.;GGCC   +8DDHH   +8DD==   /.;GGCC   %	 "$!5!B!N!N@@" "  !# 4 A M M==! !   _1>JJAA   +8DD==    "3@LLGG     !o2?KKDD    _1>JJ44   O%11 "N"N  '
 !# 4 A M M==! !  +!
 %}4         r   