Установите 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 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.
- 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 для монтирования локального каталога в контейнер:
# 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, изучите руководствоUltralytics Docker Guide.
См. ultralytics
pyproject.toml файл для получения списка зависимостей. Обратите внимание, что все приведенные примеры устанавливают все необходимые зависимости.
Наконечник
PyTorch Требования к операционной системе и CUDA зависят друг от друга, поэтому сначала установите PyTorch , следуя инструкциям на сайте PyTorch.
Нестандартные методы установки
Хотя стандартные методы установки покрывают большинство случаев использования, вам может потребоваться более индивидуальная настройка. Это может включать установку определенных версий пакетов, отказ от необязательных зависимостей или замену пакетов, например, заменой opencv-python
с графическим интерфейсом opencv-python-headless
для серверных сред.
Пользовательские методы
Вы можете установить ultralytics
ядро пакета без каких-либо зависимостей с помощью pip --no-deps
флаг. Это потребует от вас последующей ручной установки всех необходимых зависимостей.
-
Установите
ultralytics
ядро:pip install ultralytics --no-deps
-
Установите зависимости вручную: Вам нужно установить все необходимые пакеты, перечисленные в
pyproject.toml
файл, заменяя или изменяя версии по мере необходимости. Для примера 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).требования.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
Интерфейс Ultralytics YOLO Python обеспечивает бесшовную интеграцию в проекты на Python , что упрощает загрузку, запуск и обработку результатов моделирования. Разработанный для простоты, интерфейс Python позволяет пользователям быстро реализовать обнаружение, сегментацию и классификацию объектов. Это делает интерфейс YOLO Python бесценным инструментом для включения этих функций в проекты 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 (отличается от версии 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. |
Пересмотрите эти настройки по мере выполнения проектов или экспериментов, чтобы обеспечить оптимальную конфигурацию.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Как установить 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 .