o
    i_	                     @   st   d Z ddlZddlZddlmZ ddlmZmZmZ G dd deZ	G dd deZ
G d	d
 d
eZe	e
edZdS )zPyTorch optimizer builders.    N)OptimizerFactoryInterface)adadeltaadamsgdc                   @   >   e Zd ZdZedejdejfddZedejfddZ	d	S )
AdamFactoryzAdam factory.parserreturnc                 C      t | S zRegister args.)r   r    r   L/home/ubuntu/.local/lib/python3.10/site-packages/espnet/optimizer/pytorch.pyadd_arguments      zAdamFactory.add_argumentsargsc                 C   s    t jj| |j|j|j|jfdS )Initialize optimizer from argparse Namespace.

        Args:
            target: for pytorch `model.parameters()`,
                for chainer `model`
            args (argparse.Namespace): parsed command-line args

        )lrweight_decaybetas)torchoptimAdamr   r   beta1beta2targetr   r   r   r   	from_args   s   

zAdamFactory.from_argsN
__name__
__module____qualname____doc__staticmethodargparseArgumentParserr   	Namespacer   r   r   r   r   r   
       r   c                   @   r   )

SGDFactoryzSGD factory.r   r	   c                 C   r
   r   )r   r   r   r   r   r   '   r   zSGDFactory.add_argumentsr   c                 C   s   t jj| |j|jdS )r   )r   r   )r   r   SGDr   r   r   r   r   r   r   ,   s
   
zSGDFactory.from_argsNr   r   r   r   r   r(   $   r'   r(   c                   @   r   )
AdadeltaFactoryzAdadelta factory.r   r	   c                 C   r
   r   )r   r   r   r   r   r   @   r   zAdadeltaFactory.add_argumentsr   c                 C   s   t jj| |j|j|jdS )r   )rhoepsr   )r   r   Adadeltar+   r,   r   r   r   r   r   r   E   s   
zAdadeltaFactory.from_argsNr   r   r   r   r   r*   =   r'   r*   )r   r   r   )r"   r$   r   espnet.optimizer.factoryr   espnet.optimizer.parserr   r   r   r   r(   r*   OPTIMIZER_FACTORY_DICTr   r   r   r   <module>   s    
