o
    ¡¿¯i€  ã                   @   sÊ   d dl mZmZ d dlm  mZ G dd„ deƒZG dd„ deƒZG dd„ deƒZ	G d	d
„ d
e	ƒZ
e
 ej¡ ejejejejejejejfD ]Ze	 e¡ qGe ej¡ ejejfD ]Ze e¡ q[dS )é    )ÚABCÚabstractmethodNc                   @   ó8   e Zd Zed	defdd„ƒZedd„ ƒZedd„ ƒZdS )
ÚAbsSchedulerNÚepochc                 C   ó   d S ©N© ©Úselfr   r	   r	   úT/home/ubuntu/.local/lib/python3.10/site-packages/espnet2/schedulers/abs_scheduler.pyÚstep   ó   zAbsScheduler.stepc                 C   r   r   r	   ©r   r	   r	   r   Ú
state_dict   r   zAbsScheduler.state_dictc                 C   r   r   r	   ©r   Ústater	   r	   r   Úload_state_dict   r   zAbsScheduler.load_state_dictr   ©Ú__name__Ú
__module__Ú__qualname__r   Úintr   r   r   r	   r	   r	   r   r      ó    
r   c                   @   r   )
ÚAbsBatchStepSchedulerNr   c                 C   r   r   r	   r
   r	   r	   r   r      r   zAbsBatchStepScheduler.stepc                 C   r   r   r	   r   r	   r	   r   r      r   z AbsBatchStepScheduler.state_dictc                 C   r   r   r	   r   r	   r	   r   r      r   z%AbsBatchStepScheduler.load_state_dictr   r   r	   r	   r	   r   r      r   r   c                   @   r   )
ÚAbsEpochStepSchedulerNr   c                 C   r   r   r	   r
   r	   r	   r   r   $   r   zAbsEpochStepScheduler.stepc                 C   r   r   r	   r   r	   r	   r   r   (   r   z AbsEpochStepScheduler.state_dictc                 C   r   r   r	   r   r	   r	   r   r   ,   r   z%AbsEpochStepScheduler.load_state_dictr   r   r	   r	   r	   r   r   #   r   r   c                   @   r   )
ÚAbsValEpochStepSchedulerNr   c                 C   r   r   r	   )r   Úvalr   r	   r	   r   r   2   r   zAbsValEpochStepScheduler.stepc                 C   r   r   r	   r   r	   r	   r   r   6   r   z#AbsValEpochStepScheduler.state_dictc                 C   r   r   r	   r   r	   r	   r   r   :   r   z(AbsValEpochStepScheduler.load_state_dictr   r   r	   r	   r	   r   r   1   r   r   )Úabcr   r   Útorch.optim.lr_schedulerÚoptimÚlr_schedulerÚLr   r   r   r   ÚregisterÚReduceLROnPlateauÚLambdaLRÚStepLRÚMultiStepLRÚExponentialLRÚCosineAnnealingLRÚsÚCyclicLRÚ
OneCycleLRÚCosineAnnealingWarmRestartsr	   r	   r	   r   Ú<module>   s,    ù	þü