o
    }oi                     @   s4   d dl Z d dlmZ d dlmZ G dd deZdS )    N)Callback)rank_zero_onlyc                   @   s(   e Zd ZdZedd Zedd ZdS )LogEpochTimeCallbackz[Simple callback that logs how long each epoch takes, in seconds, to a pytorch lightning logc                 C   s   t   | _d S )N)timeepoch_start)selftrainer	pl_module r
   _/home/ubuntu/.local/lib/python3.10/site-packages/nemo/collections/common/callbacks/callbacks.pyon_train_epoch_start   s   z)LogEpochTimeCallback.on_train_epoch_startc                 C   s,   t   }|| j }|jjd|i|jd d S )N
epoch_time)step)r   r   loggerlog_metricsglobal_step)r   r   r	   	curr_timedurationr
   r
   r   on_train_epoch_end   s   
z'LogEpochTimeCallback.on_train_epoch_endN)__name__
__module____qualname____doc__r   r   r   r
   r
   r
   r   r      s    
r   )r   lightning.pytorch.callbacksr   lightning.pytorch.utilitiesr   r   r
   r
   r
   r   <module>   s   