
    0h                        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j0                  j2                  j4                  j7                  dd       Zej0                  j2                  j4                  j7                  dd       Zej0                  j2                  j4                  j7                  dd       Zej0                  j2                  j4                  j7                  dd       Zej0                  j2                  j4                  j7                  dd       Z eeee gZ!ej0                  j2                  j4                  j7                  dd       Z"ej0                  j2                  j4                  j7                  dd       Z#ej0                  j2                  j4                  j7                  dd       Z$ej0                  j2                  j4                  j7                  dd       Z%ej0                  j2                  j4                  j7                  dd       Z&ej0                  j2                  j4                  j7                  dd        Z'ej0                  j2                  j4                  j7                  d!d"       Z(ej0                  j2                  j4                  j7                  d#d$       Z)ej0                  j2                  j4                  j7                  d%d&       Z*e)e#gZ+e!e+z   Z,d' Z-d( Z.d) Z/y)*z?Strategy and optimizer combinations for combinations.combine().    N)adam)adadelta)adagrad)adamax)ftrl)gradient_descent)nadam)rmspropGradientDescentV1c                  h    t         j                  j                  j                  j	                  d      S NMbP?)tfcompatv1trainGradientDescentOptimizer     h/var/www/html/engine/venv/lib/python3.12/site-packages/tf_keras/src/distribute/optimizer_combinations.py<lambda>r   "   s    		"";;EB r   	AdagradV1c                  h    t         j                  j                  j                  j	                  d      S r   )r   r   r   r   AdagradOptimizerr   r   r   r   r   &       ++<<UC r   AdamV1c                  l    t         j                  j                  j                  j	                  dd      S )Nr      epsilon)r   r   r   r   AdamOptimizerr   r   r   r   r   )   s$    biill((66ua6H r   FtrlV1c                  h    t         j                  j                  j                  j	                  d      S r   )r   r   r   r   FtrlOptimizerr   r   r   r   r   ,   s    biill((66u= r   	RmsPropV1c                  h    t         j                  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9%@ r   AdagradKerasV2c                  ,    t        j                  d      S r   )adagrad_keras_v2Adagradr   r   r   r   r   >       .66u= r   AdamKerasV2c                  0    t        j                  dd      S Nr   g      ?r   )adam_keras_v2Adamr   r   r   r   r   A   s    =--eSA r   AdamExperimentalc                  ,    t        j                  d      S r   )adam_experimentalr5   r   r   r   r   r   D   s     1 6 6u = r   AdamaxKerasV2c                  0    t        j                  dd      S r3   )adamax_keras_v2Adamaxr   r   r   r   r   G   s    _33E3G r   NadamKerasV2c                  0    t        j                  dd      S r3   )nadam_keras_v2Nadamr   r   r   r   r   J   s    N00D r   FtrlKerasV2c                  ,    t        j                  d      S r   )ftrl_keras_v2Ftrlr   r   r   r   r   M   s    =--e4 r   GradientDescentKerasV2c                  ,    t        j                  d      S r   )gradient_descent_keras_v2SGDr   r   r   r   r   Q   s    *C*G*G*N r   RmsPropKerasV2c                  ,    t        j                  d      S r   )rmsprop_keras_v2RMSpropr   r   r   r   r   U   r0   r   c                     t         j                  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        ??,,44OO&&33GGOO&&33VVOO&&33SSOO&&33aa	
 # 5  r   c                     t         j                  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                     t         j                  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   }   s     ??,,44OO&&33GGOO&&33VVOO&&33SSOO&&33aa	
 * 5  r   )0__doc__tensorflow.compat.v2r   v2r   tf_keras.src.optimizersr   r8   tf_keras.src.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 ! ! = H F @ D @ C F OO%%11B ! //..;;GGC  ++88DDH  ++88DD=  //..;;GGC  %	 "$!5!5!B!B!N!N@"  !# 4 4 A A M M=!   __11>>JJA  ++88DD=   "33@@LLG   !oo22??KKD   __11>>JJ4  OO%%11 "N '
 !# 4 4 A A M M=!  +!
 %}4 r   