Обратные вызовы
Обратные вызовы
Ultralytics Фреймворк поддерживает обратные вызовы в качестве точек входа на стратегических этапах режимов train, val, export и predict. Каждый обратный вызов принимает Trainer
, Validator
, или Predictor
объект в зависимости от типа операции. Все свойства этих объектов можно найти в разделе Reference в документации.
Смотри: Mastering Ultralytics YOLOv8 : Callbacks
Примеры
Возвращение дополнительной информации с помощью предсказания
В этом примере мы хотим вернуть оригинальный кадр с каждым объектом результата. Вот как мы можем это сделать
from ultralytics import YOLO
def on_predict_batch_end(predictor):
"""Handle prediction batch end by combining results with corresponding frames; modifies predictor results."""
_, image, _, _ = predictor.batch
# Ensure that image is a list
image = image if isinstance(image, list) else [image]
# Combine the prediction results with the corresponding frames
predictor.results = zip(predictor.results, image)
# Create a YOLO model instance
model = YOLO(f'yolov8n.pt')
# Add the custom callback to the model
model.add_callback("on_predict_batch_end", on_predict_batch_end)
# Iterate through the results and frames
for (result, frame) in model.predict(): # or model.track()
pass
Все обратные вызовы
Здесь перечислены все поддерживаемые обратные вызовы. Дополнительные подробности смотри в исходном коде callbacks.
Обратные вызовы тренера
Обратный звонок | Описание |
---|---|
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_fit_epoch_end |
Срабатывает в конце каждой эпохи подгонки |
on_model_save |
Срабатывает, когда модель сохраняется |
on_train_end |
Срабатывает, когда тренировочный процесс заканчивается |
on_params_update |
Срабатывает при обновлении параметров модели |
teardown |
Срабатывает, когда процесс тренировки завершается |
Обратные вызовы валидатора
Обратный звонок | Описание |
---|---|
on_val_start |
Срабатывает, когда начинается валидация |
on_val_batch_start |
Срабатывает в начале каждой проверки |
on_val_batch_end |
Срабатывает в конце каждой проверки |
on_val_end |
Срабатывает, когда заканчивается проверка |
Обратные вызовы предикторов
Обратный звонок | Описание |
---|---|
on_predict_start |
Срабатывает, когда начинается процесс предсказания |
on_predict_batch_start |
Срабатывает в начале каждой партии предсказаний |
on_predict_postprocess_end |
Срабатывает в конце постпроцессинга предсказаний |
on_predict_batch_end |
Срабатывает в конце каждой партии предсказаний |
on_predict_end |
Срабатывает, когда процесс предсказания заканчивается |
Обратные вызовы экспортера
Обратный звонок | Описание |
---|---|
on_export_start |
Срабатывает, когда начинается процесс экспорта |
on_export_end |
Срабатывает, когда заканчивается процесс экспорта |