Установите Ultralytics
Ultralytics предлагает различные способы установки, включая pip, conda и Docker. Вы можете установить YOLO через ultralytics
pip для последнего стабильного выпуска, или клонированием пакета Ultralytics Репозиторий GitHub для самой последней версии. Docker также является вариантом запуска пакета в изолированном контейнере, что позволяет избежать локальной установки.
Смотреть: Ultralytics YOLO Краткое руководство пользователя
Установите
Установите или обновите ultralytics
пакет с помощью pip, запустив pip install -U ultralytics
. Для получения более подробной информации о ultralytics
пакета, посетите Индекс пакетов Python (PyPI).
# Install the ultralytics package from PyPI
pip install ultralytics
Вы также можете установить ultralytics
непосредственно из Ultralytics Репозиторий GitHub. Это может быть полезно, если вам нужна последняя версия для разработки. Убедитесь, что у вас установлен инструмент командной строки Git, а затем запустите:
# Install the ultralytics package from GitHub
pip install git+https://github.com/ultralytics/ultralytics.git@main
Conda можно использовать в качестве альтернативного пакетного менеджера вместо pip. Для получения более подробной информации посетите сайт Anaconda. Репозиторий Ultralytics для обновления пакета conda доступен на GitHub.
# Install the ultralytics package using conda
conda install -c conda-forge ultralytics
Примечание
Если вы устанавливаете в среде CUDA, рекомендуется установить ultralytics
, pytorch
, и pytorch-cuda
в той же команде. Это позволяет менеджеру пакетов conda разрешить любые конфликты. В качестве альтернативы, установите pytorch-cuda
последним для переопределения CPU-specific 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 Docker также доступны с сайта 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 Репозиторий GitHub если вы заинтересованы в участии в разработке или хотите поэкспериментировать с последним исходным кодом. После клонирования перейдите в каталог и установите пакет в режиме редактирования -e
с помощью pip.
# 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 предлагает пять основных поддерживаемых образов Docker, каждый из которых разработан для высокой совместимости и эффективности:
- Dockerfile: 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 открытым, позволяя взаимодействовать с контейнером. The --ipc=host
флаг устанавливает пространство имен IPC (Inter-Process Communication) на хосте, что необходимо для разделения памяти между процессами. Флаг --gpus all
флаг обеспечивает доступ ко всем доступным GPU внутри контейнера, что крайне важно для задач, требующих вычислений на GPU.
Примечание: Чтобы работать с файлами на локальной машине внутри контейнера, используйте тома Docker для монтирования локального каталога в контейнер:
# 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
Заменить /path/on/host
путь к каталогу на вашей локальной машине, и /path/in/container
с указанием нужного пути внутри контейнера Docker.
Для расширенного использования Docker ознакомьтесь с Руководством по Docker от Ultralytics.
См. ultralytics
pyproject.toml файл для получения списка зависимостей. Обратите внимание, что все приведенные примеры устанавливают все необходимые зависимости.
Наконечник
Требования к PyTorch зависят от операционной системы и требований CUDA, поэтому сначала установите PyTorch, следуя инструкциям на PyTorch.
Пользовательские методы установки
Хотя стандартные методы установки охватывают большинство случаев использования, вам может потребоваться более специализированная настройка. Это может включать установку определенных версий пакетов, пропуск необязательных зависимостей или замену пакетов, например, замену opencv-python
с GUI-less opencv-python-headless
для серверных сред.
Пользовательские методы
Вы можете установить ultralytics
основной пакет без каких-либо зависимостей, используя pip --no-deps
флаг. Это требует от вас ручной установки всех необходимых зависимостей впоследствии.
-
Установите
ultralytics
ядро:pip install ultralytics --no-deps
-
Установите зависимости вручную: Вам необходимо установить все необходимые пакеты, перечисленные в
pyproject.toml
файл, заменяя или изменяя версии по мере необходимости. Для примера headless OpenCV:# Install other core dependencies pip install torch torchvision numpy matplotlib pandas pyyaml pillow psutil requests tqdm scipy seaborn ultralytics-thop # Install headless OpenCV instead of the default pip install opencv-python-headless
Управление зависимостями
Этот метод дает полный контроль, но требует тщательного управления зависимостями. Убедитесь, что все необходимые пакеты установлены с совместимыми версиями, ссылаясь на ultralytics
pyproject.toml
файл.
Если вам нужны постоянные пользовательские изменения (например, всегда использовать opencv-python-headless
), вы можете сделать форк репозитория Ultralytics, внести изменения в pyproject.toml
или другой код, и установите из своего форка.
- Сделайте форк репозитория Ultralytics GitHub в свою учетную запись GitHub.
- Клонировать вашу локальную копию форка:
git clone https://github.com/YOUR_USERNAME/ultralytics.git cd ultralytics
- Создайте новую ветку для ваших изменений:
git checkout -b custom-opencv
- Изменить
pyproject.toml
: Открытьpyproject.toml
в текстовом редакторе и замените строку, содержащую"opencv-python>=4.6.0"
с"opencv-python-headless>=4.6.0"
(при необходимости отрегулируйте версию). - Зафиксировать и отправить ваши изменения:
git add pyproject.toml git commit -m "Switch to opencv-python-headless" git push origin custom-opencv
- Установите использование pip с
git+https
синтаксис, указывающий на вашу ветку:pip install git+https://github.com/YOUR_USERNAME/ultralytics.git@custom-opencv
Этот метод гарантирует, что ваш пользовательский набор зависимостей будет использоваться всякий раз, когда вы устанавливаете его с этого конкретного URL-адреса. См. Метод 4 для использования этого в requirements.txt
файл.
Аналогично стандартному методу "Git Clone" для разработки, вы можете клонировать репозиторий локально, изменить файлы зависимостей перед установкой, а затем установить в редактируемом режиме.
- Клонировать репозиторий Ultralytics:
git clone https://github.com/ultralytics/ultralytics cd ultralytics
- Изменить
pyproject.toml
: Отредактируйте файл, чтобы внести желаемые изменения. Например, используйтеsed
(в Linux/macOS) или текстовый редактор для заменыopencv-python
сopencv-python-headless
. Использованиеsed
(проверьте точную строку вpyproject.toml
первый):Или отредактируйте вручную# Example: Replace the line starting with "opencv-python..." # Adapt the pattern carefully based on the current file content sed -i'' -e 's/^\s*"opencv-python>=.*",/"opencv-python-headless>=4.8.0",/' pyproject.toml
pyproject.toml
чтобы изменить"opencv-python>=...
на"opencv-python-headless>=..."
. - Установите пакет в редактируемом режиме (
-e
). Pip теперь будет использовать ваш измененныйpyproject.toml
для разрешения и установки зависимостей:pip install -e .
Этот подход полезен для тестирования локальных изменений в зависимостях или конфигурациях сборки перед их фиксацией или для настройки определенных сред разработки.
Если вы управляете зависимостями вашего проекта с помощью requirements.txt
файле вы можете указать свой собственный форк Ultralytics непосредственно в нем. Это гарантирует, что любой, кто настраивает проект, получит вашу конкретную версию с ее измененными зависимостями (например, opencv-python-headless
).
- Создать или редактировать
requirements.txt
: Добавьте строку, указывающую на ваш пользовательский форк и ветку (как подготовлено в Методе 2).requirements.txtПримечание: Вам не нужно перечислять зависимости, которые уже требуются вашей пользовательской# Core dependencies numpy matplotlib pandas pyyaml Pillow psutil requests>=2.23.0 tqdm torch>=1.8.0 # Or specific version/variant torchvision>=0.9.0 # Or specific version/variant # Install ultralytics from a specific git commit or branch # Replace YOUR_USERNAME and custom-branch with your details git+https://github.com/YOUR_USERNAME/ultralytics.git@custom-branch # Other project dependencies flask # ... etc
ultralytics
форк (например,opencv-python-headless
) здесь, так как pip установит их на основании версии форкаpyproject.toml
. - Установите зависимости из файла:
pip install -r requirements.txt
Этот метод легко интегрируется со стандартными рабочими процессами управления зависимостями проектов Python, позволяя при этом закреплять ultralytics
в ваш настроенный Git-источник.
Используйте Ultralytics с CLI
Интерфейс командной строки (CLI) Ultralytics позволяет использовать простые однострочные команды без необходимости использования среды Python. CLI не требует настройки или кода Python; выполняйте все задачи из терминала с помощью yolo
команду. Для получения дополнительной информации об использовании YOLO из командной строки см. CLI Путеводитель.
Пример
Ultralytics yolo
В командах используется следующий синтаксис:
yolo TASK MODE ARGS
TASK
(необязательно) - одно из (обнаружить, сегмент, классифицировать, поза, obb)
- MODE
(обязательно) является одним из (поезд, val, предсказать, экспорт, трек, эталон)
- ARGS
(необязательно) являются arg=value
такие пары, как imgsz=640
которые отменяют значения по умолчанию.
Смотреть все ARGS
в полном Руководство по настройке или с yolo cfg
CLI командование.
Обучите модель обнаружения в течение 10 эпох с начальной скоростью обучения 0,01:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Прогнозирование видео на YouTube с помощью предварительно обученной модели сегментации при размере изображения 320:
yolo predict model=yolo11n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
Проверка предварительно обученной модели обнаружения с размером пакета 1 и размером изображения 640:
yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640
Экспортируйте модель классификации YOLOv11n в формат ONNX с размером изображения 224x128 (TASK не требуется):
yolo export model=yolo11n-cls.pt format=onnx imgsz=224,128
Подсчет объектов в видео или прямой трансляции с использованием YOLO11:
yolo solutions count show=True
yolo solutions count source="path/to/video.mp4" # specify video file path
Мониторинг упражнений с использованием модели позы YOLO11:
yolo solutions workout show=True
yolo solutions workout source="path/to/video.mp4" # specify video file path
# Use keypoints for ab-workouts
yolo solutions workout kpts="[5, 11, 13]" # left side
yolo solutions workout kpts="[6, 12, 14]" # right side
Используйте YOLO11 для подсчета объектов в указанной очереди или регионе:
yolo solutions queue show=True
yolo solutions queue source="path/to/video.mp4" # specify video file path
yolo solutions queue region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]" # configure queue coordinates
Выполните обнаружение объектов, сегментацию экземпляров или оценку позы в веб-браузере с помощью Streamlit:
yolo solutions inference
yolo solutions inference model="path/to/model.pt" # use model fine-tuned with Ultralytics Python package
Выполните специальные команды, чтобы увидеть версию, просмотреть настройки, запустить проверки и многое другое:
yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg
yolo solutions help
Внимание
Аргументы должны быть переданы как arg=value
пары, разделенные знаком равенства =
знак и разделены пробелами. Не используйте --
префиксы аргументов или запятые ,
между аргументами.
yolo predict model=yolo11n.pt imgsz=640 conf=0.25
✅yolo predict model yolo11n.pt imgsz 640 conf 0.25
❌ (отсутствует=
)yolo predict model=yolo11n.pt, imgsz=640, conf=0.25
❌ (не используйте,
)yolo predict --model yolo11n.pt --imgsz 640 --conf 0.25
❌ (не используйте--
)yolo solution model=yolo11n.pt imgsz=640 conf=0.25
❌ (используйтеsolutions
неsolution
)
Используйте Ultralytics с Python
Python-интерфейс Ultralytics YOLO предлагает простую интеграцию в python-проекты, упрощая загрузку, запуск и обработку результатов модели. Разработанный для простоты, python-интерфейс позволяет пользователям быстро внедрять обнаружение объектов, сегментацию и классификацию. Это делает python-интерфейс YOLO бесценным инструментом для включения этих функций в python-проекты.
Например, пользователи могут загрузить модель, обучить ее, оценить ее производительность и экспортировать ее в формат ONNX всего несколькими строками кода. Ознакомьтесь с Руководством по Python, чтобы узнать больше об использовании YOLO в ваших проектах Python.
Пример
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO("yolo11n.yaml")
# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo11n.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"]
Интерфейс командной строки позволяет проверить настройки с помощью:
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 версия settings (отличается от версии 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 |
Возможность синхронизации аналитики и сбоев с Ultralytics HUB |
api_key |
'' |
str |
Ключ API Ultralytics 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 |
vscode_msg |
True |
bool |
При обнаружении терминала VS Code активируется запрос на скачивание расширения Ultralytics-Snippets. |
Пересматривайте эти настройки по мере продвижения по проектам или экспериментам, чтобы обеспечить оптимальную конфигурацию.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Как установить Ultralytics с помощью pip?
Установите Ultralytics с помощью pip, используя:
pip install ultralytics
Это устанавливает последнюю стабильную версию ultralytics
пакет из PyPI. Чтобы установить версию для разработки непосредственно из GitHub:
pip install git+https://github.com/ultralytics/ultralytics.git
Убедитесь, что на вашей системе установлен инструмент командной строки Git.
Можно ли установить Ultralytics YOLO с помощью conda?
Да, установите 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=11.8 ultralytics
Для получения дополнительных инструкций см. краткое руководство по Conda.
В чем преимущества использования Docker для запуска Ultralytics YOLO ?
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 --gpus all ultralytics/ultralytics:latest
Подробные инструкции по Docker см. в руководстве по быстрому началу работы с Docker.
Как клонировать репозиторий Ultralytics для разработки?
Клонируйте репозиторий 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 ?
Ultralytics YOLO CLI упрощает выполнение задач обнаружения объектов без кода python, позволяя выполнять однострочные команды для обучения, проверки и прогнозирования непосредственно из вашего терминала. Основной синтаксис:
yolo TASK MODE ARGS
Например, для обучения модели обнаружения:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Ознакомьтесь с другими командами и примерами использования в полном руководстве по CLI.