o
    ¡¿¯i<  ã                   @   s,   d dl Z d dlmZ G dd„ de jjƒZdS )é    N)Úcheck_argument_typesc                       sB   e Zd ZdZ					ddedededed	ef
‡ fd
d„Z‡  ZS )ÚSGDa  Thin inheritance of torch.optim.SGD to bind the required arguments, 'lr'

    Note that
    the arguments of the optimizer invoked by AbsTask.main()
    must have default value except for 'param'.

    I can't understand why only SGD.lr doesn't have the default value.
    çš™™™™™¹?ç        FÚlrÚmomentumÚ	dampeningÚweight_decayÚnesterovc                    s&   t ƒ sJ ‚tƒ j||||||d d S )N)r   r   r   r	   r
   )r   ÚsuperÚ__init__)ÚselfÚparamsr   r   r   r	   r
   ©Ú	__class__© úJ/home/ubuntu/.local/lib/python3.10/site-packages/espnet2/optimizers/sgd.pyr      s   
	
úzSGD.__init__)r   r   r   r   F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚfloatÚboolr   Ú__classcell__r   r   r   r   r      s$    ùýüûúùr   )ÚtorchÚ	typeguardr   Úoptimr   r   r   r   r   Ú<module>   s    