
    6bi                        S r SSKJs  Jr  SSKJr  SSKJ	r
  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJr  \R0                  R2                  R4                  R7                  SS 5      r\R0                  R2                  R4                  R7                  SS 5      r\R0                  R2                  R4                  R7                  SS 5      r\R0                  R2                  R4                  R7                  SS 5      r\R0                  R2                  R4                  R7                  SS 5      r \\\\ /r!\R0                  R2                  R4                  R7                  SS 5      r"\R0                  R2                  R4                  R7                  SS 5      r#\R0                  R2                  R4                  R7                  SS 5      r$\R0                  R2                  R4                  R7                  SS 5      r%\R0                  R2                  R4                  R7                  SS 5      r&\R0                  R2                  R4                  R7                  SS  5      r'\R0                  R2                  R4                  R7                  S!S" 5      r(\R0                  R2                  R4                  R7                  S#S$ 5      r)\R0                  R2                  R4                  R7                  S%S& 5      r*\)\#/r+\!\+-   r,S' r-S( r.S) r/g)*z?Strategy and optimizer combinations for combinations.combine().    N)adam)adadelta)adagrad)adamax)ftrl)gradient_descent)nadam)rmspropGradientDescentV1c                  h    [         R                  R                  R                  R	                  S5      $ NMbP?)tfcompatv1trainGradientDescentOptimizer     h/home/james-whalen/.local/lib/python3.13/site-packages/tf_keras/src/distribute/optimizer_combinations.py<lambda>r   "   s    		"";;EBr   	AdagradV1c                  h    [         R                  R                  R                  R	                  S5      $ r   )r   r   r   r   AdagradOptimizerr   r   r   r   r   &       ++<<UCr   AdamV1c                  f    [         R                  R                  R                  R	                  SSS9$ )Nr      epsilon)r   r   r   r   AdamOptimizerr   r   r   r   r   )   s"    biill((66ua6Hr   FtrlV1c                  h    [         R                  R                  R                  R	                  S5      $ r   )r   r   r   r   FtrlOptimizerr   r   r   r   r   ,   s    biill((66u=r   	RmsPropV1c                  h    [         R                  R                  R                  R	                  S5      $ r   )r   r   r   r   RMSPropOptimizerr   r   r   r   r   /   r   r   AdadeltaKerasV2c                  .    [         R                  " S5      $ r   )adadelta_keras_v2Adadeltar   r   r   r   r   ;   s    099%@r   AdagradKerasV2c                  .    [         R                  " S5      $ r   )adagrad_keras_v2Adagradr   r   r   r   r   >       .66u=r   AdamKerasV2c                  ,    [         R                  " SSS9$ Nr   g      ?r   )adam_keras_v2Adamr   r   r   r   r   A   s    =--eSAr   AdamExperimentalc                  .    [         R                  " S5      $ r   )adam_experimentalr5   r   r   r   r   r   D   s     1 6 6u =r   AdamaxKerasV2c                  ,    [         R                  " SSS9$ r3   )adamax_keras_v2Adamaxr   r   r   r   r   G   s    _33E3Gr   NadamKerasV2c                  ,    [         R                  " SSS9$ r3   )nadam_keras_v2Nadamr   r   r   r   r   J   s    N00Dr   FtrlKerasV2c                  .    [         R                  " S5      $ r   )ftrl_keras_v2Ftrlr   r   r   r   r   M   s    =--e4r   GradientDescentKerasV2c                  .    [         R                  " S5      $ r   )gradient_descent_keras_v2SGDr   r   r   r   r   Q   s    *C*G*G*Nr   RmsPropKerasV2c                  .    [         R                  " S5      $ r   )rmsprop_keras_v2RMSpropr   r   r   r   r   U   r0   r   c                     [         R                  R                  R                  R	                  [         R                  R
                  R                  R                  [         R                  R
                  R                  R                  [         R                  R
                  R                  R                  [         R                  R
                  R                  R                  /[        S9$ zGA 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                     [         R                  R                  R                  R	                  [         R                  R
                  R                  R                  [         R                  R
                  R                  R                  [         R                  R
                  R                  R                  [         R                  R
                  R                  R                  /[        S9$ rN   )r   rQ   rR   rS   rT   rU   rV   rW   rX   rY   optimizers_v2r   r   r   distributions_and_v2_optimizersr_   o   r\   r   c                     [         R                  R                  R                  R	                  [         R                  R
                  R                  R                  [         R                  R
                  R                  R                  [         R                  R
                  R                  R                  [         R                  R
                  R                  R                  /[        S9$ 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   