Spaces:
Paused
Paused
# Ultralytics YOLO 🚀, GPL-3.0 license | |
""" | |
Base callbacks | |
""" | |
# Trainer callbacks ---------------------------------------------------------------------------------------------------- | |
def on_pretrain_routine_start(trainer): | |
pass | |
def on_pretrain_routine_end(trainer): | |
pass | |
def on_train_start(trainer): | |
pass | |
def on_train_epoch_start(trainer): | |
pass | |
def on_train_batch_start(trainer): | |
pass | |
def optimizer_step(trainer): | |
pass | |
def on_before_zero_grad(trainer): | |
pass | |
def on_train_batch_end(trainer): | |
pass | |
def on_train_epoch_end(trainer): | |
pass | |
def on_fit_epoch_end(trainer): | |
pass | |
def on_model_save(trainer): | |
pass | |
def on_train_end(trainer): | |
pass | |
def on_params_update(trainer): | |
pass | |
def teardown(trainer): | |
pass | |
# Validator callbacks -------------------------------------------------------------------------------------------------- | |
def on_val_start(validator): | |
pass | |
def on_val_batch_start(validator): | |
pass | |
def on_val_batch_end(validator): | |
pass | |
def on_val_end(validator): | |
pass | |
# Predictor callbacks -------------------------------------------------------------------------------------------------- | |
def on_predict_start(predictor): | |
pass | |
def on_predict_batch_start(predictor): | |
pass | |
def on_predict_batch_end(predictor): | |
pass | |
def on_predict_end(predictor): | |
pass | |
# Exporter callbacks --------------------------------------------------------------------------------------------------- | |
def on_export_start(exporter): | |
pass | |
def on_export_end(exporter): | |
pass | |
default_callbacks = { | |
# Run in trainer | |
'on_pretrain_routine_start': on_pretrain_routine_start, | |
'on_pretrain_routine_end': on_pretrain_routine_end, | |
'on_train_start': on_train_start, | |
'on_train_epoch_start': on_train_epoch_start, | |
'on_train_batch_start': on_train_batch_start, | |
'optimizer_step': optimizer_step, | |
'on_before_zero_grad': on_before_zero_grad, | |
'on_train_batch_end': on_train_batch_end, | |
'on_train_epoch_end': on_train_epoch_end, | |
'on_fit_epoch_end': on_fit_epoch_end, # fit = train + val | |
'on_model_save': on_model_save, | |
'on_train_end': on_train_end, | |
'on_params_update': on_params_update, | |
'teardown': teardown, | |
# Run in validator | |
'on_val_start': on_val_start, | |
'on_val_batch_start': on_val_batch_start, | |
'on_val_batch_end': on_val_batch_end, | |
'on_val_end': on_val_end, | |
# Run in predictor | |
'on_predict_start': on_predict_start, | |
'on_predict_batch_start': on_predict_batch_start, | |
'on_predict_batch_end': on_predict_batch_end, | |
'on_predict_end': on_predict_end, | |
# Run in exporter | |
'on_export_start': on_export_start, | |
'on_export_end': on_export_end} | |
def add_integration_callbacks(instance): | |
from .clearml import callbacks as clearml_callbacks | |
from .comet import callbacks as comet_callbacks | |
from .hub import callbacks as hub_callbacks | |
from .tensorboard import callbacks as tb_callbacks | |
for x in clearml_callbacks, comet_callbacks, hub_callbacks, tb_callbacks: | |
for k, v in x.items(): | |
instance.callbacks[k].append(v) # callback[name].append(func) | |