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

Быстрый старт

Установи Ultralytics

Ultralytics Предусмотрены различные способы установки, включая pip, conda и Docker. Установи YOLOv8 с помощью ultralytics Пакет pip для последнего стабильного выпуска или клонированием Ultralytics Репозиторий GitHub чтобы получить самую актуальную версию. С помощью Docker можно запустить пакет в изолированном контейнере, избежав локальной установки.



Смотри: Ultralytics YOLO Краткое руководство по запуску

Установи

PyPI - Python Версия

Установи ultralytics пакет с помощью pip, или обнови существующую установку, запустив pip install -U ultralytics. Посетите Python Package Index (PyPI), чтобы получить более подробную информацию о ultralytics пакет: https://pypi.org/project/ultralytics/.

PyPI - Версия Скачать

# Install the ultralytics package from PyPI
pip install ultralytics

Ты также можешь установить ultralytics пакет прямо из GitHub хранилище. Это может пригодиться, если тебе нужна последняя версия разработки. Убедись, что в твоей системе установлен инструмент командной строки Git. Сайт @main Команда устанавливает main ветвь и может быть изменена на другую ветвь, т.е. @my-branchили полностью удалить, чтобы по умолчанию main Ветка.

# Install the ultralytics package from GitHub
pip install git+https://github.com/ultralytics/ultralytics.git@main

Conda - альтернативный pip менеджер пакетов, который также можно использовать для установки. Подробнее об Anaconda можно узнать на сайте https://anaconda.org/conda-forge/ultralytics. Ultralytics Репозиторий feedstock для обновления пакета conda находится по адресу https://github.com/conda-forge/ultralytics-feedstock/.

Версия Конда Загрузки Conda Рецепт конды Платформы Conda

# Install the ultralytics package using conda
conda install -c conda-forge ultralytics

Примечание

Если ты устанавливаешь в среду CUDA, то лучше всего установить ultralytics, pytorch и pytorch-cuda в той же команде, чтобы позволить менеджеру пакетов conda разрешить любые конфликты, или же установить pytorch-cuda последний, чтобы позволить ему отменить специфические для процессора pytorch Если необходимо, то приготовь пакет.

# Install all packages together using conda
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics

Образ докера Conda

Ultralytics Докер-образы Conda также доступны из DockerHub. Эти изображения основаны на Миниконда3 и это простой способ начать использовать ultralytics в среде Conda.

# Set image name as a variable
t=ultralytics/ultralytics:latest-conda

# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t

# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t  # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t  # specify GPUs

Клонируй ultralytics репозиторий, если ты заинтересован в участии в разработке или хочешь поэкспериментировать с последним исходным кодом. После клонирования перейди в директорию и установи пакет в редактируемом режиме -e Используя pip.

Последний коммит на GitHub Активность коммитов на GitHub

# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics

# Navigate to the cloned directory
cd ultralytics

# Install the package in editable mode for development
pip install -e .

Используй Docker, чтобы без особых усилий выполнить ultralytics пакет в изолированном контейнере, что гарантирует стабильную и бесперебойную работу в различных средах. Выбрав один из официальных ultralytics изображения из Docker HubТы не только избежишь сложностей локальной установки, но и получишь доступ к проверенной рабочей среде. Ultralytics предлагает 5 основных поддерживаемых образов Docker, каждый из которых разработан для обеспечения высокой совместимости и эффективности для различных платформ и сценариев использования:

Версия образа докера Docker Pulls

  • Докерфайл: Образ GPU, рекомендованный для тренировки.
  • Dockerfile-arm64: Оптимизирован для архитектуры ARM64, что позволяет разворачивать его на таких устройствах, как Raspberry Pi и других платформах на базе ARM64.
  • Dockerfile-cpu: версия только для CPU на базе Ubuntu, подходящая для выводов и окружений без GPU.
  • Dockerfile-jetson: Настроен для устройств NVIDIA Jetson, интегрирует поддержку GPU, оптимизированную для этих платформ.
  • Dockerfile-python: Минимальный образ, содержащий только Python и необходимые зависимости, идеально подходит для легких приложений и разработки.
  • Dockerfile-conda: основан на Miniconda3 с установкой conda из пакета ultralytics .

Ниже приведены команды для получения последнего образа и его выполнения:

# Set image name as a variable
t=ultralytics/ultralytics:latest

# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t

# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t  # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t  # specify GPUs

Приведенная выше команда инициализирует контейнер Docker с последней версией ultralytics Изображение. Сайт -it Флаг назначает псевдо-TTY и держит stdin открытым, позволяя тебе взаимодействовать с контейнером. Флаг --ipc=host Флаг задает хосту пространство имен IPC (Inter-Process Communication), которое необходимо для разделения памяти между процессами. Флаг --gpus all Флаг позволяет получить доступ ко всем доступным GPU внутри контейнера, что крайне важно для задач, требующих вычислений на GPU.

Примечание: чтобы работать с файлами на твоей локальной машине внутри контейнера, используй Docker volumes для монтирования локальной директории в контейнер:

# Mount local directory to a directory inside the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t

Alter /path/on/host путь к директории на твоей локальной машине, и /path/in/container с указанием нужного пути внутри Docker-контейнера для доступности.

Для продвинутого использования Docker не стесняйся изучить Ultralytics Docker Guide.

См. ultralytics pyproject.toml файл для получения списка зависимостей. Обрати внимание, что все приведенные примеры устанавливают все необходимые зависимости.

Наконечник

PyTorch Требования зависят от операционной системы и требований к CUDA, поэтому рекомендуется сначала установить PyTorch , следуя инструкциям на сайте https://pytorch.org/get-started/locally.

PyTorch Инструкции по установке

Используй Ultralytics с CLI

Интерфейс командной строки Ultralytics (CLI) позволяет выполнять простые однострочные команды без необходимости создания среды Python . CLI не требует настройки или Python кода. Ты можешь просто запускать все задания из терминала с помощью команды yolo Командуй. Проверь CLI Руководство чтобы узнать больше об использовании YOLOv8 из командной строки.

Пример

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

yolo TASK MODE ARGS

Смотреть все ARGS в полном Руководство по настройке или с yolo cfg CLI Командуй.

Обучи модель обнаружения в течение 10 эпох с начальной скоростью обучения 0.01

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

Прогнозируй видео на YouTube с помощью предварительно обученной модели сегментации при размере изображения 320:

yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

Вали предварительно обученную модель обнаружения при размере партии 1 и размере изображения 640:

yolo val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640

Экспортируй модель классификации YOLOv8n в формат ONNX с размером изображения 224 на 128 (не требуется TASK).

yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128

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

yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg

Внимание

Аргументы должны быть переданы как arg=val пары, разделенные знаком равенства = знак и разделены пробелами между парами. Не используй -- Префиксы аргументов или запятые , между аргументами.

  • yolo predict model=yolov8n.pt imgsz=640 conf=0.25
  • yolo predict model yolov8n.pt imgsz 640 conf 0.25 ❌ (отсутствует =)
  • yolo predict model=yolov8n.pt, imgsz=640, conf=0.25 ❌ (не используй ,)
  • yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25 ❌ (не используй --)

CLI Руководство

Используй Ultralytics с Python

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

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

Пример

from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO("yolov8n.yaml")

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

# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)

# Evaluate the model's performance on the validation set
results = model.val()

# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")

# Export the model to ONNX format
success = model.export(format="onnx")

Python Руководство

Ultralytics Настройки

Библиотека Ultralytics предоставляет мощную систему управления настройками, позволяющую осуществлять тонкий контроль над твоими экспериментами. Используя SettingsManager расположенный внутри ultralytics.utils модуль, пользователи могут легко получить доступ к своим настройкам и изменить их. Они хранятся в YAML-файле и могут быть просмотрены или изменены либо непосредственно в среде Python , либо через командно-строчный интерфейс (CLI).

Осмотр настроек

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

Просмотр настроек

Ты можешь использовать Python для просмотра своих настроек. Начни с того, что импортируй settings объект из ultralytics модуль. Распечатай и верни настройки, используя следующие команды:

from ultralytics import settings

# View all settings
print(settings)

# Return a specific setting
value = settings["runs_dir"]

Кроме того, интерфейс командной строки позволяет тебе проверить свои настройки с помощью простой команды:

yolo settings

Изменение настроек

Ultralytics позволяет пользователям легко изменять свои настройки. Изменения могут быть выполнены следующими способами:

Обновление настроек

В среде Python вызови update метод на settings объект, чтобы изменить настройки:

from ultralytics import settings

# Update a setting
settings.update({"runs_dir": "/path/to/runs"})

# Update multiple settings
settings.update({"runs_dir": "/path/to/runs", "tensorboard": False})

# Reset settings to default values
settings.reset()

Если ты предпочитаешь использовать интерфейс командной строки, то следующие команды позволят тебе изменить настройки:

# Update a setting
yolo settings runs_dir='/path/to/runs'

# Update multiple settings
yolo settings runs_dir='/path/to/runs' tensorboard=False

# Reset settings to default values
yolo settings reset

Понимание настроек

В таблице ниже представлен обзор параметров, доступных для настройки в Ultralytics. Каждый параметр указан вместе с примером значения, типом данных и кратким описанием.

Имя Пример значения Тип данных Описание
settings_version '0.0.4' str Ultralytics Версиянастроек (отличается от версии Ultralytics pip )
datasets_dir '/path/to/datasets' str Каталог, в котором хранятся наборы данных
weights_dir '/path/to/weights' str Каталог, в котором хранятся веса модели
runs_dir '/path/to/runs' str Каталог, в котором хранятся запуски экспериментов
uuid 'a1b2c3d4' str Уникальный идентификатор для текущих настроек
sync True bool Нужно ли синхронизировать аналитику и аварии с HUB
api_key '' str Ultralytics Ключ API HUB
clearml True bool Использовать ли ведение журнала ClearML
comet True bool Стоит ли использовать Comet ML для отслеживания и визуализации экспериментов
dvc True bool Стоит ли использовать DVC для отслеживания экспериментов и контроля версий
hub True bool Использовать ли интеграцию Ultralytics HUB
mlflow True bool Использовать ли MLFlow для отслеживания экспериментов
neptune True bool Стоит ли использовать Neptune для отслеживания экспериментов
raytune True bool Использовать ли Ray Tune для настройки гиперпараметров
tensorboard True bool Использовать ли TensorBoard для визуализации
wandb True bool Использовать ли ведение журнала Weights & Biases

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



Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (11), Burhan-Q (2), RizwanMunawar (2), Laughing-q (1), AyushExel (1)

Комментарии