B ¢eg ã @ s d Z ddlZG dd dZdS )z Callback utils é Nc @ s: e Zd ZdZdd ZdddZddd Zd ddd ZdS )Ú Callbacksz<" Handles all registered callbacks for YOLOv5 Hooks c C s8 g g g g g g g g g g g g g g g g g g g d| _ d| _d S )N)Úon_pretrain_routine_startÚon_pretrain_routine_endÚon_train_startÚon_train_epoch_startÚon_train_batch_startÚoptimizer_stepÚon_before_zero_gradÚon_train_batch_endÚon_train_epoch_endÚon_val_startÚon_val_batch_startÚon_val_image_endÚon_val_batch_endÚ on_val_endÚon_fit_epoch_endÚ on_model_saveÚon_train_endÚon_params_updateÚteardownF)Ú _callbacksÚ stop_training)Úself© r ú>/home/iml/Desktop/Talha/YOLOV5_Model/yolov5/utils/callbacks.pyÚ__init__ s( zCallbacks.__init__Ú Nc C sR || j ks td| d| j t|s8td| d| j | ||d¡ dS )zô Register a new action to a callback hook Args: hook: The callback hook name to register the action to name: The name of the action for later reference callback: The callback to fire zhook 'z' not found in callbacks z callback 'z' is not callable)ÚnameÚcallbackN)r ÚAssertionErrorÚcallableÚappend)r Úhookr r r r r Úregister_action&