o
    7?e                     @   s  d Z ddlm  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d Zejjjddd Zejjjddd Zejjjddd Zejjjddd Z eeee gZ!ejjjddd Z"ejjjddd Z#ejjjddd Z$ejjjddd Z%ejjjddd Z&ejjjd d!d Z'ejjjd"d#d Z(ejjjd$d%d Z)ejjjd&d'd Z*e)e#gZ+e!e+ Z,d(d) Z-d*d+ Z.d,d- Z/dS ).z?Strategy and optimizer combinations for combinations.combine().    N)adam)adadelta)adagrad)adamax)ftrl)gradient_descent)nadam)rmspropZGradientDescentV1c                   C      t jjjdS NMbP?)tfcompatv1trainZGradientDescentOptimizer r   r   l/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/keras/src/distribute/optimizer_combinations.py<lambda>"       r   Z	AdagradV1c                   C   r
   r   )r   r   r   r   ZAdagradOptimizerr   r   r   r   r   &   r   ZAdamV1c                   C   s   t jjjjdddS )Nr      epsilon)r   r   r   r   ZAdamOptimizerr   r   r   r   r   )   s    ZFtrlV1c                   C   r
   r   )r   r   r   r   ZFtrlOptimizerr   r   r   r   r   ,   r   Z	RmsPropV1c                   C   r
   r   )r   r   r   r   ZRMSPropOptimizerr   r   r   r   r   /   r   ZAdadeltaKerasV2c                   C   
   t dS r   )adadelta_keras_v2ZAdadeltar   r   r   r   r   ;      
 ZAdagradKerasV2c                   C   r   r   )adagrad_keras_v2ZAdagradr   r   r   r   r   >   r   ZAdamKerasV2c                   C      t jdddS Nr   g      ?r   )adam_keras_v2Adamr   r   r   r   r   A       ZAdamExperimentalc                   C   r   r   )adam_experimentalr   r   r   r   r   r   D   r   ZAdamaxKerasV2c                   C   r   r   )adamax_keras_v2ZAdamaxr   r   r   r   r   G   r    ZNadamKerasV2c                   C   r   r   )nadam_keras_v2ZNadamr   r   r   r   r   J   r    ZFtrlKerasV2c                   C   r   r   )ftrl_keras_v2ZFtrlr   r   r   r   r   M   r   ZGradientDescentKerasV2c                   C   r   r   )gradient_descent_keras_v2ZSGDr   r   r   r   r   Q   r   ZRmsPropKerasV2c                   C   r   r   )rmsprop_keras_v2ZRMSpropr   r   r   r   r   U   r   c                   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
dS zKA common set of combination with DistributionStrategies and
    Optimizers.)distributionZ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   r   distributions_and_v1_optimizersa      




r4   c                   C   r'   r(   )r   r*   r+   r,   r-   r.   r/   r0   r1   r2   optimizers_v2r   r   r   r   distributions_and_v2_optimizerso   r5   r7   c                   C   r'   r(   )r   r*   r+   r,   r-   r.   r/   r0   r1   r2   optimizers_v1_and_v2r   r   r   r   &distributions_and_v1_and_v2_optimizers}   r5   r9   )0__doc__Ztensorflow.compat.v2r   v2r   Zkeras.src.optimizersr   r!   Zkeras.src.optimizers.legacyr   r   r   r   r   r   r"   r   r$   r   r%   r   r#   r	   r&   r*   r+   r,   ZNamedObjectZ gradient_descent_optimizer_v1_fnZadagrad_optimizer_v1_fnZadam_optimizer_v1_fnZftrl_optimizer_v1_fnZrmsprop_optimizer_v1_fnr3   Zadadelta_optimizer_keras_v2_fnZadagrad_optimizer_keras_v2_fnZadam_optimizer_keras_v2_fnZadam_experimental_fnZadamax_optimizer_keras_v2_fnZnadam_optimizer_keras_v2_fnZftrl_optimizer_keras_v2_fnZ&gradient_descent_optimizer_keras_v2_fnZrmsprop_optimizer_keras_v2_fnr6   r8   r4   r7   r9   r   r   r   r   <module>   s   













