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

Установите Ultralytics

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



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

Установите

PyPI - Python Версия

Установите или обновите ultralytics пакет с помощью pip, запустив pip install -U ultralytics. Для получения более подробной информации о ultralytics пакета, посетите Индекс пакетов Python (PyPI).

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.

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

# 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.

Последняя фиксация на 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 предлагает пять основных поддерживаемых образов Docker, каждый из которых разработан для высокой совместимости и эффективности:

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

  • 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.

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

Пользовательские методы установки

Хотя стандартные методы установки охватывают большинство случаев использования, вам может потребоваться более специализированная настройка. Это может включать установку определенных версий пакетов, пропуск необязательных зависимостей или замену пакетов, например, замену opencv-python с GUI-less opencv-python-headless для серверных сред.

Пользовательские методы

Вы можете установить ultralytics основной пакет без каких-либо зависимостей, используя pip --no-deps флаг. Это требует от вас ручной установки всех необходимых зависимостей впоследствии.

  1. Установите ultralytics ядро:

    pip install ultralytics --no-deps
    

  2. Установите зависимости вручную: Вам необходимо установить все необходимые пакеты, перечисленные в 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 или другой код, и установите из своего форка.

  1. Сделайте форк репозитория Ultralytics GitHub в свою учетную запись GitHub.
  2. Клонировать вашу локальную копию форка:
    git clone https://github.com/YOUR_USERNAME/ultralytics.git
    cd ultralytics
    
  3. Создайте новую ветку для ваших изменений:
    git checkout -b custom-opencv
    
  4. Изменить pyproject.toml: Открыть pyproject.toml в текстовом редакторе и замените строку, содержащую "opencv-python>=4.6.0" с "opencv-python-headless>=4.6.0" (при необходимости отрегулируйте версию).
  5. Зафиксировать и отправить ваши изменения:
    git add pyproject.toml
    git commit -m "Switch to opencv-python-headless"
    git push origin custom-opencv
    
  6. Установите использование pip с git+https синтаксис, указывающий на вашу ветку:
    pip install git+https://github.com/YOUR_USERNAME/ultralytics.git@custom-opencv
    

Этот метод гарантирует, что ваш пользовательский набор зависимостей будет использоваться всякий раз, когда вы устанавливаете его с этого конкретного URL-адреса. См. Метод 4 для использования этого в requirements.txt файл.

Аналогично стандартному методу "Git Clone" для разработки, вы можете клонировать репозиторий локально, изменить файлы зависимостей перед установкой, а затем установить в редактируемом режиме.

  1. Клонировать репозиторий Ultralytics:
    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics
    
  2. Изменить 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>=...".
  3. Установите пакет в редактируемом режиме (-e). Pip теперь будет использовать ваш измененный pyproject.toml для разрешения и установки зависимостей:
    pip install -e .
    

Этот подход полезен для тестирования локальных изменений в зависимостях или конфигурациях сборки перед их фиксацией или для настройки определенных сред разработки.

Если вы управляете зависимостями вашего проекта с помощью requirements.txt файле вы можете указать свой собственный форк Ultralytics непосредственно в нем. Это гарантирует, что любой, кто настраивает проект, получит вашу конкретную версию с ее измененными зависимостями (например, opencv-python-headless).

  1. Создать или редактировать 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.
  2. Установите зависимости из файла:
    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)

CLI Путеводитель

Используйте 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")

Python Путеводитель

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.



📅 Создано 1 год назад ✏️ Обновлено 2 месяца назад

Комментарии