Перейти к содержимому

Конфигурация

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



Смотри: Mastering Ultralytics YOLOv8 : Configuration

Ultralytics Команды используют следующий синтаксис:

Пример

yolo TASK MODE ARGS
from ultralytics import YOLO

# Load a YOLOv8 model from a pre-trained weights file
model = YOLO('yolov8n.pt')

# Run MODE mode using the custom arguments ARGS (guess TASK)
model.MODE(ARGS)

Где:

По умолчанию ARG Значения определяются на этой странице из cfg/defaults.yaml файл.

Задания

YOLO Модели могут использоваться для решения различных задач, включая обнаружение, сегментацию, классификацию и позиционирование. Эти задачи различаются по типу выходных данных, которые они выдают, и по конкретной проблеме, которую они призваны решить.

  • Обнаружение: Для идентификации и локализации объектов или областей интереса в изображении или видео.
  • Сегмент: Для разделения изображения или видео на области или пиксели, которые соответствуют различным объектам или классам.
  • Классифицируй: Для предсказания классовой метки входного изображения.
  • Поза: Для идентификации объектов и оценки их ключевых точек на изображении или видео.
  • OBB: Ориентированные (то есть повернутые) ограничительные рамки, подходящие для спутниковых или медицинских снимков.
Аргумент По умолчанию Описание
task 'detect' Укажи задачу YOLO , которую нужно выполнить. Опции включают detect для обнаружения объектов, segment для сегментации, classify для классификации, pose для оценки позы и OBB для ориентированных ограничительных блоков. Каждое задание приспособлено к определенным типам вывода и проблемам в рамках анализа изображений и видео.

Руководство по выполнению заданий

Режимы

YOLO Модели можно использовать в разных режимах в зависимости от конкретной проблемы, которую ты пытаешься решить. К этим режимам относятся:

  • Train: Для обучения модели YOLOv8 на пользовательском наборе данных.
  • Val: Для проверки модели YOLOv8 после ее обучения.
  • Predict: Для составления прогнозов с помощью обученной модели YOLOv8 на новых изображениях или видео.
  • Экспорт: Для экспорта модели YOLOv8 в формат, который можно использовать для развертывания.
  • Трек: Для отслеживания объектов в реальном времени с помощью модели YOLOv8 .
  • Бенчмарк: Для бенчмарка скорости и точности экспорта YOLOv8 (ONNX, TensorRT, и т.д.).
Аргумент По умолчанию Описание
mode 'train' Указывает режим, в котором работает модель YOLO . Варианты train для обучения модели, val для проверки, predict для выводов на основе новых данных, export для преобразования моделей в форматы развертывания, track для отслеживания объектов, и benchmark для оценки производительности. Каждый режим предназначен для разных этапов жизненного цикла модели, от разработки до развертывания.

Руководство по режимам

Настройки поезда

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

Аргумент По умолчанию Описание
model None Указывает файл модели для обучения. Принимает путь либо к .pt предварительно обученная модель или .yaml файл конфигурации. Необходим для определения структуры модели или инициализации весов.
data None Путь к файлу конфигурации набора данных (например, coco128.yaml). Этот файл содержит специфические для набора данных параметры, включая пути к тренировочным и валидационным данным, названия классов и их количество.
epochs 100 Общее количество тренировочных эпох. Каждая эпоха представляет собой полный проход по всему набору данных. Настройка этого значения может повлиять на продолжительность обучения и производительность модели.
time None Максимальное время тренировки в часах. Если установлено, то оно отменяет значение epochs аргумент, позволяющий автоматически прекратить тренировку по истечении указанной продолжительности. Полезно для сценариев тренировок с ограниченным временем.
patience 100 Количество эпох, которое нужно подождать, пока не улучшатся показатели валидации, чтобы досрочно прекратить обучение. Помогает предотвратить чрезмерную подгонку, останавливая обучение, когда производительность достигает плато.
batch 16 Размер партии для обучения, указывающий, сколько изображений обрабатывается перед обновлением внутренних параметров модели. AutoBatch (batch=-1) динамически регулирует размер партии в зависимости от доступности памяти GPU.
imgsz 640 Целевой размер изображения для обучения. Перед подачей в модель все изображения изменяются до этого размера. Влияет на точность модели и вычислительную сложность.
save True Включает сохранение контрольных точек тренировки и финальных весов модели. Полезно для возобновления тренировки или развертывания модели.
save_period -1 Частота сохранения контрольных точек модели, указывается в эпохах. Значение -1 отключает эту функцию. Полезно для сохранения промежуточных моделей во время длительных тренировок.
cache False Включает кэширование изображений наборов данных в памяти (True/ram), на диске (disk), или отключить его (False). Повышает скорость тренировок за счет снижения дискового ввода-вывода ценой увеличения использования памяти.
device None Указывается вычислительное устройство (устройства) для обучения: один GPU (device=0), несколько графических процессоров (device=0,1), ПРОЦЕССОР (device=cpu), или MPS для кремния Apple (device=mps).
workers 8 Количество рабочих потоков для загрузки данных (на RANK если тренировка на нескольких процессорах). Влияет на скорость предварительной обработки данных и подачи их в модель, особенно полезно при работе на нескольких GPU.
project None Имя директории проекта, в которой сохраняются результаты тренировок. Позволяет организовать хранение различных экспериментов.
name None Название тренировочного прогона. Используется для создания подкаталога в папке проекта, где будут храниться журналы тренировок и результаты.
exist_ok False Если значение True, это позволяет перезаписать существующий каталог с проектом/именем. Полезно для итеративных экспериментов без необходимости вручную очищать предыдущие результаты.
pretrained True Определяет, начинать ли обучение с предварительно обученной модели. Может быть булевым значением или строковым путем к конкретной модели, из которой загружаются веса. Повышает эффективность обучения и производительность модели.
optimizer 'auto' Выбери оптимизатор для тренировки. Варианты включают в себя SGD, Adam, AdamW, NAdam, RAdam, RMSProp и т.д., или auto для автоматического выбора на основе конфигурации модели. Влияет на скорость сходимости и стабильность.
verbose False Включает подробный вывод информации во время тренировки, предоставляя подробные журналы и обновления прогресса. Полезно для отладки и тщательного контроля процесса тренировки.
seed 0 Задает случайное зерно для тренировки, обеспечивая воспроизводимость результатов в прогонах с одинаковыми конфигурациями.
deterministic True Принуждает использовать детерминированные алгоритмы, что обеспечивает воспроизводимость, но может повлиять на производительность и скорость из-за ограничения на недетерминированные алгоритмы.
single_cls False Во время обучения все классы в многоклассовых наборах данных рассматриваются как один класс. Полезно для задач бинарной классификации или когда внимание сосредоточено на присутствии объекта, а не на классификации.
rect False Включает прямоугольную тренировку, оптимизируя состав партии для минимальной набивки. Это может повысить эффективность и скорость, но может повлиять на точность модели.
cos_lr False Использует косинусный планировщик скорости обучения, настраивая скорость обучения по косинусной кривой в течение эпох. Помогает управлять скоростью обучения для лучшей сходимости.
close_mosaic 10 Отключает увеличение мозаичных данных в последние N эпох, чтобы стабилизировать тренировку перед завершением. Установка значения 0 отключает эту функцию.
resume False Возобнови тренировку с последней сохраненной контрольной точки. Автоматически загружает веса модели, состояние оптимизатора и количество эпох, продолжая тренировку без проблем.
amp True Включает автоматическое обучение со смешанной точностью (AMP), что уменьшает расход памяти и, возможно, ускоряет обучение с минимальным влиянием на точность.
fraction 1.0 Указывает, какую часть набора данных использовать для обучения. Позволяет тренироваться на подмножестве полного набора данных, что полезно для экспериментов или при ограниченных ресурсах.
profile False Позволяет профилировать скорости ONNX и TensorRT во время тренировки, что полезно для оптимизации развертывания модели.
freeze None Замораживай первые N слоев модели или указанные слои по индексу, уменьшая количество обучаемых параметров. Полезно для тонкой настройки или трансферного обучения.
lr0 0.01 Начальная скорость обучения (т.е. SGD=1E-2, Adam=1E-3) . Настройка этого значения имеет решающее значение для процесса оптимизации, влияя на то, как быстро обновляются веса моделей.
lrf 0.01 Конечная скорость обучения как доля от начальной скорости = (lr0 * lrf), используемые вместе с планировщиками для регулировки скорости обучения с течением времени.
momentum 0.937 Момент-фактор для SGD или beta1 для оптимизаторов Адама, влияющий на включение прошлых градиентов в текущее обновление.
weight_decay 0.0005 Член регуляризации L2, штрафующий большие веса, чтобы предотвратить перебор.
warmup_epochs 3.0 Количество эпох для разогрева скорости обучения, постепенно увеличивая скорость обучения от низкого значения до начальной скорости обучения, чтобы стабилизировать обучение на ранних этапах.
warmup_momentum 0.8 Начальный импульс для фазы разминки, постепенно подстраиваясь под заданный импульс в течение всего периода разминки.
warmup_bias_lr 0.1 Скорость обучения параметров смещения во время фазы разминки, помогающая стабилизировать обучение модели в начальных эпохах.
box 7.5 Вес компонента box loss в функции потерь, влияющий на то, насколько большое внимание уделяется точному предсказанию координат bounding box.
cls 0.5 Вес классификационных потерь в общей функции потерь, влияющий на важность правильного предсказания класса относительно других компонентов.
dfl 1.5 Вес фокусной потери распределения, используемый в некоторых версиях YOLO для более тонкой классификации.
pose 12.0 Вес потери позы в моделях, обученных для оценки позы, влияет на акцент на точное предсказание ключевых точек позы.
kobj 2.0 Вес потери объектности ключевой точки в моделях оценки позы, балансирующий между уверенностью в обнаружении и точностью позы.
label_smoothing 0.0 Применяет сглаживание меток, смягчая жесткие метки до смеси целевой метки и равномерного распределения по меткам, что может улучшить обобщение.
nbs 64 Номинальный размер партии для нормализации потерь.
overlap_mask True Определяет, должны ли маски сегментации накладываться друг на друга во время обучения, что применимо в задачах сегментации экземпляров.
mask_ratio 4 Коэффициент понижения дискретизации для масок сегментации, влияющий на разрешение масок, используемых во время обучения.
dropout 0.0 Показатель отсева для регуляризации в задачах классификации, предотвращающий перебор с помощью случайного исключения единиц во время обучения.
val True Включает валидацию во время обучения, позволяя периодически оценивать производительность модели на отдельном наборе данных.
plots False Генерирует и сохраняет графики метрик обучения и проверки, а также примеры предсказаний, обеспечивая визуальное представление о производительности модели и прогрессе обучения.

Путеводитель по поезду

Предсказать настройки

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

Аргументы для умозаключений:

Аргумент Тип По умолчанию Описание
source str 'ultralytics/assets' Указывает источник данных для выводов. Это может быть путь к изображению, видеофайлу, директории, URL или идентификатор устройства для прямых трансляций. Поддерживает широкий спектр форматов и источников, что позволяет гибко использовать различные типы входных данных.
conf float 0.25 Устанавливает минимальный порог уверенности для обнаружения. Объекты, обнаруженные с уверенностью ниже этого порога, будут проигнорированы. Настройка этого значения может помочь уменьшить количество ложных срабатываний.
iou float 0.7 Порог Intersection Over Union (IoU) для немаксимального подавления (NMS). Более высокие значения приводят к уменьшению количества обнаружений за счет устранения перекрывающихся боксов, что полезно для уменьшения количества дубликатов.
imgsz int or tuple 640 Определяет размер изображения для вывода. Может быть одним целым числом 640 для изменения размера квадрата или кортеж (высота, ширина). Правильное изменение размера может повысить точность обнаружения и скорость обработки.
half bool False Включает вывод с половинной точностью (FP16), что позволяет ускорить вывод модели на поддерживаемых графических процессорах с минимальным влиянием на точность.
device str None Указывает устройство для умозаключений (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.
max_det int 300 Максимальное количество обнаружений, допустимое для одного изображения. Ограничивает общее количество объектов, которые модель может обнаружить за один вывод, предотвращая чрезмерный вывод в плотных сценах.
vid_stride int 1 Пропуск кадров для видеовходов. Позволяет пропускать кадры в видео, чтобы ускорить обработку за счет снижения временного разрешения. При значении 1 обрабатывается каждый кадр, при больших значениях кадры пропускаются.
stream_buffer bool False Определяет, нужно ли буферизовать все кадры при обработке видеопотока (True), или если модель должна возвращать самый последний кадр (False). Полезно для приложений, работающих в режиме реального времени.
visualize bool False Активирует визуализацию особенностей модели во время вывода, давая представление о том, что "видит" модель. Полезно для отладки и интерпретации модели.
augment bool False Включает увеличение времени тестирования (TTA) для предсказаний, потенциально улучшая устойчивость обнаружения ценой снижения скорости вывода.
agnostic_nms bool False Включает диагностируемое классом немаксимальное подавление (NMS), которое объединяет перекрывающиеся боксы разных классов. Полезно в сценариях многоклассового обнаружения, где часто происходит перекрытие классов.
classes list[int] None Фильтрует предсказания по набору идентификаторов классов. Будут возвращены только те обнаружения, которые относятся к указанным классам. Полезно для того, чтобы сфокусироваться на соответствующих объектах в многоклассовых задачах обнаружения.
retina_masks bool False Используй маски сегментации высокого разрешения, если они есть в модели. Это может повысить качество масок для задач сегментации, обеспечивая более тонкую детализацию.
embed list[int] None Определяет слои, из которых нужно извлечь векторы признаков или вкрапления. Полезно для последующих задач, таких как кластеризация или поиск сходства.

Аргументы для визуализации:

Аргумент Тип По умолчанию Описание
show bool False Если TrueОтображает аннотированные изображения или видео в окне. Полезно для мгновенной визуальной обратной связи во время разработки или тестирования.
save bool False Позволяет сохранить аннотированные изображения или видео в файл. Полезно для документации, дальнейшего анализа или обмена результатами.
save_frames bool False При обработке видео сохраняй отдельные кадры в виде изображений. Полезно для извлечения конкретных кадров или для детального покадрового анализа.
save_txt bool False Сохрани результаты обнаружения в текстовом файле, следуя формату [class] [x_center] [y_center] [width] [height] [confidence]. Полезно для интеграции с другими инструментами анализа.
save_conf bool False Включай доверительные оценки в сохраненные текстовые файлы. Повышает детализацию, доступную для постобработки и анализа.
save_crop bool False Сохраняй обрезанные изображения обнаруженных объектов. Полезно для расширения набора данных, анализа или создания наборов данных, ориентированных на конкретные объекты.
show_labels bool True Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает мгновенное понимание обнаруженных объектов.
show_conf bool True Отображает балл уверенности для каждого обнаружения рядом с меткой. Дает представление о степени уверенности модели для каждого обнаружения.
show_boxes bool True Рисует ограничительные рамки вокруг обнаруженных объектов. Необходим для визуальной идентификации и определения местоположения объектов на изображениях или видеокадрах.
line_width None or int None Определяет ширину линии ограничительных рамок. Если NoneШирина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для наглядности.

Руководство по предсказаниям

Настройки проверки

Настройки val (валидации) для моделей YOLO включают в себя различные гиперпараметры и конфигурации, используемые для оценки производительности модели на валидационном наборе данных. Эти настройки влияют на производительность, скорость и точность модели. Общие настройки валидации YOLO включают в себя размер пакета, частоту валидации во время обучения и метрики оценки производительности. Другие факторы, влияющие на процесс валидации, - это размер и состав валидационного набора данных, а также конкретная задача, для которой используется модель.

Аргумент Тип По умолчанию Описание
data str None Указывает путь к файлу конфигурации набора данных (например, coco128.yaml). Этот файл содержит пути к данным проверки, названия классов и их количество.
imgsz int 640 Определяет размер входных изображений. Перед обработкой все изображения приводятся к этому размеру.
batch int 16 Устанавливает количество изображений в одной партии. Используй -1 для AutoBatch, который автоматически настраивается в зависимости от доступности памяти GPU.
save_json bool False Если True, сохраняет результаты в JSON-файл для дальнейшего анализа или интеграции с другими инструментами.
save_hybrid bool False Если True, сохраняет гибридную версию меток, которая сочетает в себе оригинальные аннотации с дополнительными предсказаниями модели.
conf float 0.001 Устанавливает минимальный порог доверия для обнаружения. Обнаружения с уверенностью ниже этого порога отбрасываются.
iou float 0.6 Устанавливает порог Intersection Over Union (IoU) для Non-Maximum Suppression (NMS). Помогает уменьшить количество дублирующих обнаружений.
max_det int 300 Ограничивает максимальное количество обнаружений на одном изображении. Полезно в плотных сценах, чтобы избежать чрезмерного количества обнаружений.
half bool True Обеспечивает вычисления с половинной точностью (FP16), уменьшая потребление памяти и потенциально увеличивая скорость с минимальным влиянием на точность.
device str None Указание устройства для проверки (cpu, cuda:0, и т.д.). Позволяет гибко использовать ресурсы CPU или GPU.
dnn bool False Если Trueиспользует модуль OpenCV DNN для вывода моделей ONNX , предлагая альтернативу методам вывода PyTorch .
plots bool False Если установить значение True, генерирует и сохраняет графики соотношения предсказаний и истины для визуальной оценки работы модели.
rect bool False Если TrueИспользует прямоугольный вывод для пакетной обработки, уменьшая количество набивки и потенциально увеличивая скорость и эффективность.
split str val Определяет разбиение набора данных, которое будет использоваться для проверки (val, test, или train). Позволяет гибко подходить к выбору сегмента данных для оценки производительности.

Тщательная настройка и эксперименты с этими параметрами очень важны для обеспечения оптимальной производительности на валидационном наборе данных, а также для обнаружения и предотвращения перебора.

Val Guide

Настройки экспорта

Настройки экспорта моделей YOLO включают в себя конфигурации и опции, связанные с сохранением или экспортом модели для использования в различных средах или платформах. Эти настройки могут повлиять на производительность модели, ее размер и совместимость с различными системами. Основные настройки экспорта включают формат файла экспортируемой модели (например, ONNX, TensorFlow SavedModel ), целевое устройство (например, CPU, GPU), а также дополнительные возможности, такие как маски или несколько ярлыков на коробку. На процесс экспорта также может повлиять конкретная задача модели и требования или ограничения целевой среды или платформы.

Аргумент Тип По умолчанию Описание
format str 'torchscript' Целевой формат экспортируемой модели, например 'onnx', 'torchscript', 'tensorflow', или другие, определяющие совместимость с различными средами развертывания.
imgsz int или tuple 640 Желаемый размер изображения на входе модели. Может быть целым числом для квадратных изображений или кортежем (height, width) за конкретные размеры.
keras bool False Включает экспорт в формат Keras для TensorFlow SavedModel , обеспечивая совместимость с сервисами и API TensorFlow .
optimize bool False Применяет оптимизацию для мобильных устройств при экспорте в TorchScript, потенциально уменьшая размер модели и улучшая производительность.
half bool False Включает квантование FP16 (половинной точности), уменьшая размер модели и потенциально ускоряя вывод на поддерживаемом оборудовании.
int8 bool False Активирует квантование INT8, еще больше сжимая модель и ускоряя вывод с минимальной потерей точности, в первую очередь для краевых устройств.
dynamic bool False Позволяет использовать динамические размеры входных данных для экспорта ONNX и TensorRT , что повышает гибкость при работе с изображениями разных размеров.
simplify bool False Упрощает граф модели для экспорта ONNX , потенциально улучшая производительность и совместимость.
opset int None Указывает версию опенсета ONNX для совместимости с различными парсерами ONNX и режимами выполнения. Если не задано, используется последняя поддерживаемая версия.
workspace float 4.0 Устанавливает максимальный размер рабочего пространства в Гб для оптимизации TensorRT , балансируя между использованием памяти и производительностью.
nms bool False Добавляет к экспорту CoreML подавление без максимума (NMS), необходимое для точной и эффективной постобработки обнаружения.

Очень важно вдумчиво настроить эти параметры, чтобы экспортированная модель была оптимизирована для предполагаемого варианта использования и эффективно функционировала в целевой среде.

Руководство по экспорту

Настройки аугментации

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

Аргумент Тип По умолчанию Диапазон Описание
hsv_h float 0.015 0.0 - 1.0 Корректирует оттенок изображения на долю цветового круга, внося вариативность цвета. Помогает модели обобщать различные условия освещения.
hsv_s float 0.7 0.0 - 1.0 Изменяет насыщенность изображения на доли, влияя на интенсивность цветов. Полезно для имитации различных условий окружающей среды.
hsv_v float 0.4 0.0 - 1.0 Изменяет значение (яркость) изображения на долю, помогая модели хорошо проявить себя при различных условиях освещения.
degrees float 0.0 -180 - +180 Произвольно поворачивает изображение в заданном диапазоне градусов, улучшая способность модели распознавать объекты с различной ориентацией.
translate float 0.1 0.0 - 1.0 Переводит изображение по горизонтали и вертикали на долю размера изображения, помогая научиться обнаруживать частично видимые объекты.
scale float 0.5 >=0.0 Масштабируй изображение по коэффициенту усиления, имитируя объекты на разных расстояниях от камеры.
shear float 0.0 -180 - +180 Обрезай изображение на заданный градус, имитируя эффект предметов, рассматриваемых под разными углами.
perspective float 0.0 0.0 - 0.001 Применяет к изображению случайное преобразование перспективы, улучшая способность модели понимать объекты в трехмерном пространстве.
flipud float 0.0 0.0 - 1.0 Переворачивает изображение с заданной вероятностью, увеличивая вариативность данных без ущерба для характеристик объекта.
fliplr float 0.5 0.0 - 1.0 Переворачивай изображение слева направо с заданной вероятностью, что полезно для изучения симметричных объектов и увеличения разнообразия датасетов.
mosaic float 1.0 0.0 - 1.0 Объединяет четыре тренировочных изображения в одно, имитируя различные композиции сцены и взаимодействие объектов. Высокоэффективно для понимания сложных сцен.
mixup float 0.0 0.0 - 1.0 Смешивай два изображения и их метки, создавая составное изображение. Усиливает способность модели к обобщению, вводя шум от меток и визуальную изменчивость.
copy_paste float 0.0 0.0 - 1.0 Копирует объекты с одного изображения и вставляет их на другое, что полезно для увеличения количества экземпляров объектов и изучения окклюзии объектов.
auto_augment str randaugment - Автоматическое применение предопределенной политики аугментации (randaugment, autoaugment, augmix), оптимизируя для задач классификации за счет разнообразия визуальных признаков.
erasing float 0.4 0.0 - 1.0 Случайно стирает часть изображения во время обучения классификации, побуждая модель сосредоточиться на менее очевидных признаках для распознавания.

Эти параметры могут быть изменены в соответствии с конкретными требованиями набора данных и поставленной задачи. Экспериментирование с различными значениями поможет найти оптимальную стратегию дополнения, которая приведет к наилучшей производительности модели.

Настройки протоколирования, контрольных точек и черчения

Ведение журнала, контрольные точки, построение графиков и управление файлами - важные моменты при обучении модели YOLO .

  • Ведение журнала: Во время обучения часто бывает полезно записывать в журнал различные метрики и статистику, чтобы отслеживать прогресс модели и диагностировать возникающие проблемы. Для этого можно использовать библиотеку ведения логов, например TensorBoard, или записывать лог-сообщения в файл.
  • Контрольные точки: Хорошей практикой является сохранение контрольных точек модели через регулярные промежутки времени во время тренировки. Это позволит тебе возобновить тренировку с предыдущей точки, если процесс обучения будет прерван или если ты захочешь поэкспериментировать с различными конфигурациями тренировки.
  • Построение графиков: Визуализация производительности модели и прогресса обучения может быть полезна для понимания поведения модели и выявления потенциальных проблем. Это можно сделать с помощью библиотеки построения графиков, например matplotlib, или сгенерировать графики с помощью библиотеки протоколирования, например TensorBoard.
  • Управление файлами: Управление различными файлами, создаваемыми в процессе тренировки, такими как контрольные точки модели, файлы журналов и графики, может оказаться непростой задачей. Важно иметь четкую и организованную файловую структуру, чтобы отслеживать эти файлы и облегчить доступ к ним и их анализ по мере необходимости.

Эффективные протоколирование, контрольные точки, построение графиков и управление файлами помогут тебе следить за прогрессом модели и облегчат отладку и оптимизацию процесса обучения.

Аргумент По умолчанию Описание
project 'runs' Укажи корневую директорию для сохранения тренировочных прогонов. Каждый прогон будет сохранен в отдельном подкаталоге внутри этой директории.
name 'exp' Определяет имя эксперимента. Если оно не указано, то YOLO автоматически увеличивает это имя для каждого запуска, например, exp, exp2, и т.д., чтобы не переписывать предыдущие эксперименты.
exist_ok False Определяет, нужно ли перезаписывать существующую директорию экспериментов, если директория с таким же именем уже существует. Установив это значение в True позволяет перезаписывать, в то время как False предотвращает это.
plots False Управляет созданием и сохранением тренировочных и проверочных графиков. Установи на True для создания таких графиков, как кривые потерь, кривые "точность-возврат" и прогнозы образцов. Полезно для визуального отслеживания производительности модели с течением времени.
save False Включает сохранение контрольных точек тренировки и финальных весов модели. Установи на True периодически сохранять состояния моделей, что позволяет возобновить тренировку с этих контрольных точек или развернуть модели.


Создано 2023-11-12, Обновлено 2024-02-25
Авторы: Burhan-Q (1), Laughing-q (1), glenn-jocher (11), AyushExel (1), fcakyon (1), chr043416@gmail.com (1), tensorturtle (1)

Комментарии