Перейти к содержанию

Обучение модели с Ultralytics YOLO

Ultralytics YOLO Экосистема и интеграции

Введение

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



Смотреть: Как обучить модель YOLO на вашем пользовательском наборе данных в Google Colab.

Почему стоит выбрать Ultralytics YOLO для обучения?

Вот несколько веских причин выбрать режим "Поезд" на сайте YOLO11:

  • Эффективность: Максимально используйте возможности своего оборудования, будь то установка с однимGPU или масштабирование на несколько GPU.
  • Универсальность: Обучение на пользовательских наборах данных в дополнение к легкодоступным, таким как COCO, VOC и ImageNet.
  • Удобство для пользователя: простые, но мощные интерфейсы CLI и Python обеспечивают простоту обучения.
  • Гибкость гиперпараметров: Широкий диапазон настраиваемых гиперпараметров для точной настройки производительности модели.

Ключевые особенности режима поезда

Ниже перечислены некоторые особенности режима "Поезд" на сайте YOLO11:

  • Автоматическая загрузка наборов данных: Стандартные наборы данных, такие как COCO, VOC и ImageNet, загружаются автоматически при первом использовании.
  • Поддержка несколькихGPU : Масштабируйте свои усилия по обучению, используя несколько графических процессоров, чтобы ускорить процесс.
  • Конфигурация гиперпараметров: Возможность изменять гиперпараметры с помощью конфигурационных файлов YAML или аргументов CLI .
  • Визуализация и мониторинг: Отслеживание показателей обучения в режиме реального времени и визуализация процесса обучения для более глубокого понимания.

Наконечник

  • YOLO11 Такие наборы данных, как COCO, VOC, ImageNet и многие другие, автоматически загружаются при первом использовании, т.е. yolo train data=coco.yaml

Примеры использования

Обучение YOLO11n на наборе данных COCO8 для 100 эпохи при размере изображения 640. Устройство для обучения можно указать с помощью device аргумент. Если аргумент не передан GPU device=0 будет использоваться, если он доступен, в противном случае device='cpu' будет использоваться. Полный список аргументов для обучения см. в разделе Аргументы ниже.

Ошибка многопроцессорной обработки Windows

В операционной системе Windows вы можете получить сообщение RuntimeError при запуске тренировки в виде сценария. Добавьте if __name__ == "__main__": блок перед вашим учебным кодом, чтобы решить эту проблему.

ОдиночныйGPU и CPU пример обучения

Устройство определяется автоматически. Если доступен GPU , то он будет использован, в противном случае обучение начнется на CPU.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.yaml")  # build a new model from YAML
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640

МультиGPU Обучение

Обучение с использованием несколькихGPU позволяет более эффективно использовать доступные аппаратные ресурсы, распределяя обучающую нагрузку между несколькими графическими процессорами. Эта функция доступна как через API Python , так и через интерфейс командной строки. Чтобы включить мультиGPU обучение, укажите идентификаторы устройств GPU , которые вы хотите использовать.

МультиGPU Пример обучения

Для обучения на 2 GPU, CUDA устройства 0 и 1, используйте следующие команды. При необходимости расширьте систему на дополнительные GPU.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with 2 GPUs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=[0, 1])
# Start training from a pretrained *.pt model using GPUs 0 and 1
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=0,1

Apple Silicon MPS Обучение

Благодаря поддержке кремниевых чипов Apple, интегрированных в модели Ultralytics YOLO , теперь можно обучать свои модели на устройствах, использующих мощный фреймворк Metal Performance Shaders (MPS). Фреймворк MPS предлагает высокопроизводительный способ выполнения задач по вычислению и обработке изображений на заказном кремнии Apple.

Чтобы включить обучение на кремниевых чипах Apple, при запуске процесса обучения необходимо указать в качестве устройства 'mps'. Ниже приведен пример того, как это можно сделать в Python и через командную строку:

MPS Пример обучения

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with MPS
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
# Start training from a pretrained *.pt model using MPS
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

Используя вычислительную мощность кремниевых чипов Apple, это позволяет эффективнее обрабатывать учебные задачи. За более подробными инструкциями и расширенными возможностями настройки обращайтесь к документацииPyTorch MPS .

Возобновление прерванных тренировок

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

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

Вы можете легко возобновить обучение на сайте Ultralytics YOLO , установив resume аргумент в пользу True при вызове train и указать путь к методу .pt файл, содержащий веса частично обученной модели.

Ниже приведен пример возобновления прерванной тренировки с помощью Python и командной строки:

Резюме Пример обучения

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/last.pt")  # load a partially trained model

# Resume training
results = model.train(resume=True)
# Resume an interrupted training
yolo train resume model=path/to/last.pt

По настройке resume=True, the train функция продолжит тренировку с того места, где она остановилась, используя состояние, сохраненное в файле 'path/to/last.pt'. Если в файле resume аргумент опущен или установлен на False, the train функция начнет новую тренировку.

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

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

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

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

Примечание по настройкам размера партии

Сайт batch аргумент может быть настроен тремя способами:

  • Фиксированный размер партии: Установите целочисленное значение (например, batch=16), напрямую указывая количество изображений в партии.
  • Автоматический режим (60% GPU Memory): Используйте batch=-1 для автоматической настройки размера партии для использования памяти примерно на 60 % CUDA .
  • Автоматический режим с фракцией использования: Установите дробное значение (например, batch=0.70), чтобы настроить размер партии на основе указанной доли использования памяти GPU .

Параметры дополнения и гиперпараметры

Методы дополнения необходимы для повышения устойчивости и производительности моделей 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 Переворачивает изображение слева направо с заданной вероятностью, что полезно для изучения симметричных объектов и увеличения разнообразия наборов данных.
bgr float 0.0 0.0 - 1.0 Переключает каналы изображения с RGB на BGR с заданной вероятностью, что полезно для повышения устойчивости к неправильному упорядочиванию каналов.
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 Копирует и вставляет объекты между изображениями, что полезно для увеличения количества экземпляров объектов и изучения окклюзии объектов. Требуются метки сегментации.
copy_paste_mode str 'flip' - Выбор метода наращивания Copy-Paste среди вариантов ("flip", "mixup").
auto_augment str 'randaugment' - Автоматическое применение предопределенной политики дополнения (randaugment, autoaugment, augmix), оптимизируя задачи классификации за счет разнообразия визуальных признаков.
erasing float 0.4 0.0 - 0.9 Случайно стирает часть изображения во время обучения классификации, побуждая модель сосредоточиться на менее очевидных признаках для распознавания.
crop_fraction float 1.0 0.1 - 1.0 Обрезает классификационное изображение до меньшего размера, чтобы подчеркнуть центральные особенности и адаптироваться к масштабу объекта, уменьшая отвлекающий фон.

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

Информация

Более подробную информацию об обучении операциям дополнения см. в разделе "Справочная информация".

Ведение журнала

При обучении модели YOLO11 вам будет полезно отслеживать ее работу с течением времени. Именно здесь на помощь приходит ведение журнала. Ultralytics YOLO поддерживает три типа логгеров - Comet, ClearMLи TensorBoard.

Чтобы использовать логгер, выберите его из выпадающего меню в приведенном выше фрагменте кода и запустите его. Выбранный логгер будет установлен и инициализирован.

Comet

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

Чтобы использовать Comet:

Пример

# pip install comet_ml
import comet_ml

comet_ml.init()

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

ClearML

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

Чтобы использовать ClearML:

Пример

# pip install clearml
import clearml

clearml.browser_login()

После запуска этого скрипта вам нужно будет войти в свой аккаунт ClearML в браузере и аутентифицировать свою сессию.

TensorBoard

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

Чтобы использовать TensorBoard в Google Colab:

Пример

load_ext tensorboard
tensorboard --logdir ultralytics/runs # replace with 'runs' directory

Чтобы использовать TensorBoard локально, выполните приведенную ниже команду и просмотрите результаты на сайте http://localhost:6006/.

Пример

tensorboard --logdir ultralytics/runs # replace with 'runs' directory

Это загрузит TensorBoard и направит его в каталог, где сохранены журналы тренировок.

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

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Как обучить модель обнаружения объектов с помощью Ultralytics YOLO11 ?

Для обучения модели обнаружения объектов с помощью Ultralytics YOLO11 можно использовать либо API Python , либо CLI. Ниже приведен пример для обоих вариантов:

ОдиночныйGPU и CPU пример обучения

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

Более подробную информацию см. в разделе "Настройки поезда ".

Каковы ключевые особенности режима "Поезд" на сайте Ultralytics YOLO11 ?

Ключевые особенности режима "Поезд" на сайте Ultralytics YOLO11 включают в себя:

  • Автоматическая загрузка наборов данных: Автоматическая загрузка стандартных наборов данных, таких как COCO, VOC и ImageNet.
  • Поддержка несколькихGPU : Масштабируйте обучение на нескольких графических процессорах для ускорения обработки.
  • Конфигурация гиперпараметров: Настройка гиперпараметров с помощью файлов YAML или аргументов CLI .
  • Визуализация и мониторинг: Отслеживание показателей обучения в режиме реального времени для более глубокого понимания.

Эти функции делают тренировки эффективными и настраиваются в соответствии с вашими потребностями. Более подробную информацию см. в разделе "Ключевые особенности режима тренировки".

Как возобновить прерванное занятие на сайте Ultralytics YOLO11 ?

Чтобы возобновить обучение после прерванного сеанса, установите resume аргумент в пользу True и укажите путь к последней сохраненной контрольной точке.

Резюме Пример обучения

from ultralytics import YOLO

# Load the partially trained model
model = YOLO("path/to/last.pt")

# Resume training
results = model.train(resume=True)
yolo train resume model=path/to/last.pt

Дополнительную информацию можно найти в разделе " Возобновление прерванных тренировок".

Можно ли обучать модели YOLO11 на кремниевых чипах Apple?

Да, Ultralytics YOLO11 поддерживает обучение на кремниевых чипах Apple, использующих фреймворк Metal Performance Shaders (MPS). Укажите 'mps' в качестве устройства для обучения.

MPS Пример обучения

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n.pt")

# Train the model on Apple silicon chip (M1/M2/M3/M4)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

Более подробную информацию вы найдете в разделе Обучение Apple Silicon MPS .

Каковы общие параметры обучения и как их настроить?

Ultralytics YOLO11 позволяет настраивать различные параметры обучения, такие как размер партии, скорость обучения, эпохи и многое другое с помощью аргументов. Вот краткий обзор:

Аргумент По умолчанию Описание
model None Путь к файлу модели для обучения.
data None Путь к файлу конфигурации набора данных (например, coco8.yaml).
epochs 100 Общее количество эпох обучения.
batch 16 Размер партии, регулируемый как целое число или в автоматическом режиме.
imgsz 640 Целевой размер изображения для обучения.
device None Вычислительное устройство (устройства) для обучения, например cpu, 0, 0,1, или mps.
save True Включает сохранение контрольных точек обучения и окончательных весов модели.

Подробное руководство по настройкам тренировок можно найти в разделе " Настройки тренировок ".

📅 Создано 1 год назад ✏️ Обновлено 4 дня назад

Комментарии