Ultralytics YOLO27:
Назад к глоссарию Ultralytics

Callback

Узнай, как callback-функции оптимизируют обучение Ultralytics YOLO26. Научись реализовывать раннюю остановку, создание контрольных точек и пользовательское логирование, чтобы улучшить рабочие процессы ИИ.

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

Роль колбэков в машинном обучении#

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

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

Распространённые применения и примеры из реальной практики#

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

  • Раннее прекращение обучения: одно из наиболее распространённых применений — раннее прекращение обучения. Этот колбэк отслеживает определённую метрику, например ошибку на валидационных данных. Если ошибка перестаёт уменьшаться в течение заданного числа эпох, колбэк останавливает обучение. Это предотвращает переобучение и помогает обеспечить хорошую обобщающую способность модели на новых данных, вместо того чтобы она просто запоминала обучающие данные.
  • Сохранение контрольных точек модели: при длительном обучении аппаратные сбои могут иметь катастрофические последствия. Колбэк сохранения контрольных точек сохраняет веса модели через регулярные интервалы (например, после каждой эпохи) или только тогда, когда модель достигает нового «лучшего» результата по таким метрикам, как точность или средняя точность (mAP). Это гарантирует, что у тебя всегда будет сохранена версия модели с наилучшими результатами.
  • Планирование скорости обучения: скорость обучения определяет, насколько сильно модель изменяется в ответ на оценённую ошибку при каждом обновлении весов модели. Колбэк может динамически корректировать эту скорость, уменьшая её, когда обучение выходит на плато, чтобы помочь модели сойтись к оптимальному решению; эту технику часто называют уменьшением скорости обучения.
  • Логирование и визуализация: колбэки часто используются для интеграции с инструментами отслеживания экспериментов. Они передают метрики на такие панели мониторинга, как TensorBoard или MLflow, позволяя специалистам по работе с данными визуализировать функции потерь и графики производительности в реальном времени.

Реализация колбэков с Ultralytics YOLO#

Библиотека Ultralytics поддерживает надёжную систему колбэков, позволяющую пользователям подключаться к событиям во время обучения таких моделей, как YOLO26. Это особенно полезно для пользователей, управляющих рабочими процессами на платформе Ultralytics и нуждающихся в пользовательском логировании или логике управления.

Ниже приведён краткий пример определения и регистрации пользовательского колбэка, который выводит сообщение в конце каждой эпохи обучения с использованием 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)

Колбэки и хуки#

Хотя эти механизмы связаны, важно различать колбэки и хуки. Во фреймворках, таких как PyTorch, хуки обычно представляют собой функции более низкого уровня, привязанные к определённым операциям над тензорами или слоям нейронной сети для проверки или изменения градиентов и выходных данных во время прямого или обратного прохода. В отличие от них, колбэки обычно являются абстракциями более высокого уровня, связанными с событиями цикла обучения (начало, конец, обработка пакета данных), а не с самим графом математических вычислений.

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

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

Explore solutions

Компьютерное зрение для аэрофотоснимков

Компьютерное зрение для аэрофотоснимков

Превращай кадры с дронов и аэрофотоснимки в аналитику в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Узнать больше
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

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

Защити каждый объект с помощью моделей Ultralytics YOLO. Компьютерное зрение обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Узнать больше
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Оснащай более умные машины моделями Ultralytics YOLO. Vision AI в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI обеспечивает инспекцию посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складах в реальном времени.
Узнать больше
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с помощью моделей Ultralytics YOLO. Vision AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения клиентов.
Узнать больше
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Vision AI в здравоохранении обеспечивает более быструю обработку медицинских изображений, более точную диагностику и интеллектуальный мониторинг пациентов.
Узнать больше
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Vision AI повышает безопасность дорог, эффективность систем помощи водителю и уровень автоматизации автомобилей, делая дороги умнее.
Узнать больше
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше
Компьютерное зрение для аэрофотоснимков

Компьютерное зрение для аэрофотоснимков

Превращай кадры с дронов и аэрофотоснимки в аналитику в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Узнать больше
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

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

Защити каждый объект с помощью моделей Ultralytics YOLO. Компьютерное зрение обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Узнать больше
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Оснащай более умные машины моделями Ultralytics YOLO. Vision AI в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI обеспечивает инспекцию посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складах в реальном времени.
Узнать больше
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с помощью моделей Ultralytics YOLO. Vision AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения клиентов.
Узнать больше
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Vision AI в здравоохранении обеспечивает более быструю обработку медицинских изображений, более точную диагностику и интеллектуальный мониторинг пациентов.
Узнать больше
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Vision AI повышает безопасность дорог, эффективность систем помощи водителю и уровень автоматизации автомобилей, делая дороги умнее.
Узнать больше
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше
Компьютерное зрение для аэрофотоснимков

Компьютерное зрение для аэрофотоснимков

Превращай кадры с дронов и аэрофотоснимки в аналитику в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Узнать больше
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

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

Защити каждый объект с помощью моделей Ultralytics YOLO. Компьютерное зрение обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Узнать больше
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Оснащай более умные машины моделями Ultralytics YOLO. Vision AI в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI обеспечивает инспекцию посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складах в реальном времени.
Узнать больше
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с помощью моделей Ultralytics YOLO. Vision AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения клиентов.
Узнать больше
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Vision AI в здравоохранении обеспечивает более быструю обработку медицинских изображений, более точную диагностику и интеллектуальный мониторинг пациентов.
Узнать больше
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Vision AI повышает безопасность дорог, эффективность систем помощи водителю и уровень автоматизации автомобилей, делая дороги умнее.
Узнать больше
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше

Давай вместе создавать будущее AI!

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