Встречай YOLO26: ИИ компьютерного зрения нового поколения.
Ultralytics
Назад к глоссарию Ultralytics

Callback

Открой для себя, как колбэки (callbacks) оптимизируют обучение Ultralytics YOLO26. Научись применять раннюю остановку, создание чекпоинтов и пользовательское логирование для улучшения твоих ИИ-рабочих процессов.

В области разработки программного обеспечения и искусственного интеллекта (ИИ), callback (обратный вызов) — это фрагмент исполняемого кода, который передается в качестве аргумента другому коду, после чего ожидается, что этот код выполнит (вызовет обратно) переданный аргумент в заданный момент времени. В контексте фреймворков для глубокого обучения (DL), callback-функции являются важнейшими инструментами, позволяющими разработчикам настраивать поведение цикла обучения модели, не изменяя при этом сам основной код обучения. Они выступают в качестве автоматизированных триггеров, которые выполняют определенные действия на различных этапах процесса обучения, например, в начале или конце эпохи, обучающего батча или всего сеанса обучения.

Link to this sectionРоль callback-функций в машинном обучении#

Обучение сложной нейронной сети может занимать часы или даже дни. Без callback-функций процесс обучения по сути является «черным ящиком», который работает до завершения и часто требует ручного контроля. Callback-функции обеспечивают наблюдаемость и управление, позволяя системе саморегулироваться на основе показателей производительности в режиме реального времени.

При использовании высокоуровневых библиотек, таких как PyTorch или TensorFlow, callback-функции позволяют встраивать логику в алгоритм оптимизации. Например, если модель успешно обучается, callback-функция может сохранить текущее состояние; если обучение остановилось, она может прервать процесс для экономии ресурсов. Это делает рабочий процесс машинного обучения (ML) более эффективным и надежным.

Link to this sectionРаспространенные применения и примеры из реальной практики#

Callback-функции универсальны и могут использоваться для широкого спектра задач во время мониторинга модели и оптимизации.

  • Ранняя остановка (Early Stopping): Один из самых распространенных вариантов использования — это ранняя остановка. Эта callback-функция отслеживает определенную метрику, например, значение функции потерь на валидационных данных. Если значение потерь перестает уменьшаться в течение заданного количества эпох, callback-функция останавливает обучение. Это предотвращает переобучение, гарантируя, что модель хорошо обобщает данные на новых примерах, вместо того чтобы просто «зазубривать» обучающие данные.
  • Контрольные точки модели (Model Checkpointing): При длительном обучении аппаратные сбои могут быть катастрофическими. Callback-функция для создания контрольных точек сохраняет веса модели через регулярные промежутки времени (например, каждую эпоху) или только тогда, когда модель достигает нового «лучшего» результата по таким метрикам, как точность (accuracy) или средняя точность (mAP). Это гарантирует, что у тебя всегда будет сохраненная версия модели с наилучшими показателями.
  • Планирование скорости обучения (Learning Rate Scheduling): Скорость обучения определяет, насколько сильно модель изменяется в ответ на оценочную ошибку при каждом обновлении весов. Callback-функция может динамически регулировать эту скорость, снижая ее при достижении плато, чтобы помочь модели сойтись к оптимальному решению — этот метод часто называют затуханием скорости обучения.
  • Логирование и визуализация: Callback-функции часто используются для интеграции с инструментами отслеживания экспериментов. Они транслируют метрики на дашборды, такие как TensorBoard или MLflow, позволяя специалистам по данным визуализировать функции потерь и графики производительности в реальном времени.

Link to this sectionРеализация callback-функций с помощью Ultralytics YOLO#

The Ultralytics library supports a robust callback system, allowing users to hook into events during the training of models like YOLO26. This is particularly useful for users managing workflows on the Ultralytics Platform who need custom logging or control logic.

Ниже приведен краткий пример того, как определить и зарегистрировать пользовательскую callback-функцию, которая выводит сообщение в конце каждой эпохи обучения с использованием Python API:

from ultralytics import YOLO


# Define a custom callback function
def on_train_epoch_end(trainer):
    """Callback function to execute at the end of each training epoch."""
    print(f"Epoch {trainer.epoch + 1} complete. Current Fitness: {trainer.fitness}")


# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")

# Register the custom callback to the model
model.add_callback("on_train_epoch_end", on_train_epoch_end)

# Train the model with the callback active
model.train(data="coco8.yaml", epochs=3)

Link to this sectionCallback-функции против хуков (Hooks)#

While related, it is helpful to distinguish callbacks from hooks. In frameworks like PyTorch, hooks are generally lower-level functions attached to specific tensor operations or neural network layers to inspect or modify gradients and outputs during the forward or backward pass. In contrast, callbacks are typically higher-level abstractions tied to the training loop events (start, end, batch processing) rather than the mathematical computation graph itself.

Link to this sectionДополнительные материалы и ресурсы#

Для тех, кто хочет углубить свое понимание оптимизации рабочих процессов обучения, следующим логичным шагом будет изучение настройки гиперпараметров. Кроме того, понимание основных задач компьютерного зрения (CV), таких как обнаружение объектов и сегментация экземпляров, даст представление о том, почему необходимо точное управление обучением с помощью callback-функций. Для управления этими процессами корпоративного уровня платформа Ultralytics Platform предлагает интегрированные решения, автоматизирующие многие из этих управляемых callback-функциями действий.

Explore solutions

Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше

Давай строить будущее ИИ вместе!

Начни свой путь в будущее машинного обучения