Установка Ultralytics#
Ultralytics предлагает различные способы установки, включая pip, conda и Docker. Ты можешь установить YOLO с помощью пакета ultralytics для получения последней стабильной версии либо клонировав репозиторий Ultralytics GitHub для получения самой актуальной версии. Docker также является вариантом запуска пакета в изолированном контейнере, что позволяет избежать локальной установки.
Watch: Ultralytics YOLO Quick Start Guide
Установи или обнови пакет ultralytics с помощью pip, выполнив pip install -U ultralytics. Для получения дополнительной информации о пакете ultralytics посети Python Package Index (PyPI).
# Install or upgrade the ultralytics package from PyPI
pip install -U ultralyticsТы также можешь установить ultralytics напрямую из репозитория Ultralytics GitHub. Это может быть полезно, если тебе нужна последняя версия для разработки. Убедись, что у тебя установлен инструмент командной строки Git, а затем выполни:
# Install the ultralytics package from GitHub
pip install git+https://github.com/ultralytics/ultralytics.git@mainСписок зависимостей см. в файле ultralytics pyproject.toml. Обрати внимание, что во всех приведенных выше примерах устанавливаются все необходимые зависимости.
Установка на бездисплейный сервер#
Для серверных сред без дисплея (например, облачных виртуальных машин, контейнеров Docker, конвейеров CI/CD) используй пакет ultralytics-opencv-headless. Он идентичен стандартному пакету ultralytics, но зависит от opencv-python-headless вместо opencv-python, что позволяет избежать ненужных зависимостей графического интерфейса и возможных ошибок libGL.
pip install ultralytics-opencv-headlessОба пакета предоставляют одинаковый функционал и API. Вариант без графического интерфейса просто исключает компоненты GUI OpenCV, требующие библиотек отображения.
Продвинутая установка#
Хотя стандартные методы установки охватывают большинство сценариев использования, для разработки или пользовательских конфигураций тебе может потребоваться более специализированная настройка.
Если тебе нужны постоянные пользовательские модификации, ты можешь сделать форк репозитория Ultralytics, внести изменения в pyproject.toml или другой код и выполнить установку из своего форка.
- Сделай форк репозитория Ultralytics GitHub в свой собственный аккаунт GitHub.
- Клонируй свой форк локально:
git clone https://github.com/YOUR_USERNAME/ultralytics.git cd ultralytics - Создай новую ветку для своих изменений:
git checkout -b my-custom-branch - Внеси изменения в
pyproject.tomlили другие файлы по мере необходимости. - Закоммить и запуши свои изменения:
git add . git commit -m "My custom changes" git push origin my-custom-branch - Установи с помощью pip с синтаксисом
git+https, указав на свою ветку:pip install git+https://github.com/YOUR_USERNAME/ultralytics.git@my-custom-branch
Использование Ultralytics через CLI#
Интерфейс командной строки (CLI) Ultralytics позволяет выполнять простые однострочные команды без необходимости настройки среды Python. CLI не требует никакой настройки или кода на Python; запускай все задачи из терминала с помощью команды yolo. Подробнее об использовании YOLO из командной строки см. в руководстве по CLI.
Команды yolo Ultralytics используют следующий синтаксис:
yolo TASK MODE ARGSTASK(необязательно) — одно из значений (detect, segment, semantic, depth, classify, pose, obb)MODE(обязательно) — одно из значений (train, val, predict, export, track, benchmark)ARGS(необязательно) — парыarg=value, напримерimgsz=640, которые переопределяют значения по умолчанию.
Посмотреть все ARGS можно в полном руководстве по конфигурации или с помощью команды CLI yolo cfg.
Аргументы должны передаваться в виде пар arg=value, разделенных знаком равенства = и ограниченных пробелами. Не используй префиксы аргументов -- или запятые , между аргументами.
yolo predict model=yolo26n.pt imgsz=640 conf=0.25✅yolo predict model yolo26n.pt imgsz 640 conf 0.25❌ (пропущен=)yolo predict model=yolo26n.pt, imgsz=640, conf=0.25❌ (не используй,)yolo predict --model yolo26n.pt --imgsz 640 --conf 0.25❌ (не используй--)yolo solution model=yolo26n.pt imgsz=640 conf=0.25❌ (используйsolutions, а неsolution)
Использование Ultralytics с Python#
Интерфейс Python для YOLO от Ultralytics предлагает бесшовную интеграцию в проекты Python, позволяя легко загружать, запускать и обрабатывать результаты работы моделей. Разработанный для максимальной простоты, интерфейс Python позволяет пользователям быстро реализовывать детектирование объектов, сегментацию экземпляров, семантическую сегментацию, оценку глубины и классификацию. Это делает интерфейс Python для YOLO бесценным инструментом для интеграции данных функциональных возможностей в проекты Python.
Например, пользователи могут загрузить модель, обучить её, оценить её производительность и экспортировать в формат ONNX всего за несколько строк кода. Изучи руководство по Python, чтобы узнать больше об использовании YOLO в своих проектах на Python.
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO("yolo26n.yaml")
# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo26n.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")Настройки Ultralytics#
Библиотека Ultralytics включает SettingsManager для детального управления экспериментами, позволяя пользователям легко получать доступ к настройкам и изменять их. Сохраняемые в JSON-файле в каталоге пользовательской конфигурации среды, эти настройки можно просматривать или изменять в среде Python либо через интерфейс командной строки (CLI).
Просмотр настроек#
Для просмотра текущей конфигурации твоих настроек:
Используй Python для просмотра настроек, импортировав объект settings из модуля ultralytics. Выведи и верни настройки с помощью этих команд:
from ultralytics import settings
# View all settings
print(settings)
# Return a specific setting
value = settings["runs_dir"]Изменение настроек#
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()Понимание настроек#
В таблице ниже приводится обзор настраиваемых параметров в Ultralytics, включая примеры значений, типы данных и описания.
| Название | Пример значения | Тип данных | Описание |
|---|---|---|---|
settings_version | '0.0.7' | str | Версия настроек Ultralytics (отличается от версии [pip] Ultralytics) |
datasets_dir | '/path/to/datasets' | str | Каталог для хранения наборов данных |
weights_dir | '/path/to/weights' | str | Каталог для хранения весов моделей |
runs_dir | '/path/to/runs' | str | Каталог для хранения запусков экспериментов |
uuid | 'a1b2c3d4' | str | Уникальный идентификатор текущих настроек |
sync | True | bool | Возможность синхронизации аналитики и сведений о сбоях с [Ultralytics Platform] |
api_key | '' | str | Ключ API [Ultralytics Platform] |
clearml | True | bool | Возможность использования логирования [ClearML] |
comet | True | bool | Возможность использования [Comet ML] для отслеживания экспериментов и визуализации |
dvc | True | bool | Возможность использования [DVC для отслеживания экспериментов][DVC for experiment tracking] и контроля версий |
mlflow | True | bool | Возможность использования [MLFlow] для отслеживания экспериментов |
raytune | True | bool | Возможность использования [Ray Tune] для настройки гиперпараметров |
tensorboard | False | bool | Возможность использования [TensorBoard] для визуализации |
wandb | False | bool | Возможность использования логирования [Weights & Biases] |
vscode_msg | True | bool | При обнаружении терминала VS Code включается предложение загрузить расширение [Ultralytics-Snippets]. |
Возвращайся к этим настройкам по мере продвижения по проектам или экспериментам, чтобы обеспечить оптимальную конфигурацию.
Часто задаваемые вопросы#
Установи Ultralytics с помощью pip, выполнив:
pip install -U ultralyticsЭто устанавливает последний стабильный выпуск пакета
ultralyticsиз PyPI. Чтобы установить версию для разработки напрямую из GitHub:pip install git+https://github.com/ultralytics/ultralytics.gitУбедись, что в твоей системе установлен командный инструмент Git.
Да, установи Ultralytics YOLO с помощью conda, выполнив:
conda install -c conda-forge ultralyticsЭтот метод является отличной альтернативой pip, обеспечивая совместимость с другими пакетами. Для сред CUDA установи
ultralytics,pytorchиpytorch-cudaвместе, чтобы разрешить конфликты:conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=12.1 ultralyticsДополнительные инструкции см. в кратком руководстве по Conda.
Docker предоставляет изолированную и стабильную среду для Ultralytics YOLO, обеспечивая плавную производительность в различных системах и избавляя от сложностей локальной установки. Официальные образы Docker доступны на Docker Hub, с вариантами для GPU, CPU, ARM64, NVIDIA Jetson и Conda. Чтобы скачать и запустить последний образ:
# Pull the latest ultralytics image from Docker Hub sudo docker pull ultralytics/ultralytics:latest # Run the ultralytics image in a container with GPU support sudo docker run -it --ipc=host --device nvidia.com/gpu=all ultralytics/ultralytics:latestПодробные инструкции по Docker см. в кратком руководстве по Docker.
Клонируй репозиторий Ultralytics и настрой среду разработки с помощью:
# 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 .Это позволяет вносить вклад в проект или экспериментировать с последним исходным кодом. Для получения подробной информации посети репозиторий Ultralytics на GitHub.
Интерфейс командной строки Ultralytics YOLO CLI упрощает выполнение задач обнаружения объектов без кода на Python, позволяя использовать однострочные команды для обучения, валидации и предсказания прямо из терминала. Базовый синтаксис:
yolo TASK MODE ARGSНапример, чтобы обучить модель обнаружения:
yolo train data=coco8.yaml model=yolo26n.pt epochs=10 lr0=0.01Изучи больше команд и примеров использования в полном руководстве по CLI.