跳至内容

安装Ultralytics

Ultralytics 提供多种安装方法,包括 pip、conda 和 Docker。您可以通过 ultralytics pip 软件包,或通过克隆 Ultralytics GitHub 存储库 获取最新版本。Docker 也是在隔离容器中运行软件包的一个选项,可避免本地安装。



观看: Ultralytics YOLO 快速入门指南

安装

PyPI -Python 版本

安装或更新 ultralytics 运行 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。用于更新 conda 软件包的Ultralytics 原料库位于GitHub

康达版本 康达下载 康达食谱 Conda 平台

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

备注

如果在CUDA 环境中安装,最佳做法是安装 ultralytics, pytorchpytorch-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 Docker 映像

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 镜像,您可以避免本地安装的复杂性,并获得经过验证的工作环境。Ultralytics 提供五种主要支持的 Docker 镜像,每一种都具有很高的兼容性和效率:

Docker 映像版本 Docker 拉动

  • Dockerfile:推荐用于培训的GPU 镜像。
  • Dockerfile-arm64:针对 ARM64 架构进行了优化,适合在 Raspberry Pi 等设备和其他基于 ARM64 的平台上部署。
  • Dockerfile-cpu:基于 Ubuntu 的CPU 版本,适用于推理和没有 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

上述命令使用最新的 ultralytics 图像图像 -it 标记分配一个伪 TTY 并保持 stdin 开启,允许与容器进行交互。标记 --ipc=host 标记将 IPC(进程间通信)命名空间设置为主机命名空间,这对进程间共享内存至关重要。进程间通信 --gpus all flag 可以访问容器内所有可用的 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 指南》。

参见 ultralytics pyproject.toml 文件中的依赖项列表。请注意,上述所有示例都安装了所有必需的依赖项。

提示

PyTorch的要求因操作系统和CUDA 要求而异,因此请首先按照以下网址的说明安装PyTorch PyTorch.

PyTorch 安装说明

定制安装方法

虽然标准安装方法涵盖了大多数使用情况,但你可能需要更有针对性的设置。这可能涉及安装特定的软件包版本、省略可选的依赖关系,或替换软件包,如替换 opencv-python 与无图形用户界面的 opencv-python-headless 用于服务器环境。

自定义方法

您可以安装 ultralytics 使用 pip 的 --no-deps 标记。这就要求您随后手动安装所有必要的依赖项。

  1. 安装 ultralytics 核心:

    pip install ultralytics --no-deps
    

  2. 手动安装依赖项 您需要安装在 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),你可以 forkUltralytics 软件仓库,修改 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 安装时,都会使用自定义依赖集。在 requirements.txt 锉刀

与标准的 "Git Clone "开发方法类似,你可以在本地克隆版本库,安装修改依赖文件,然后以可编辑模式安装。

  1. 克隆 Ultralytics 资源库:
    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics
    
  2. 修改 pyproject.toml: 编辑文件,进行所需的更改。例如,使用 sed (Linux/macOS)或文本编辑器来替换 opencv-pythonopencv-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 fork。这样就能确保任何建立项目的人都能获得你的特定版本,以及修改后的依赖关系(如 opencv-python-headless).

  1. 创建或编辑 requirements.txt: 添加一行指向您的自定义 fork 和分支(如方法 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

Ultralytics 命令行界面CLI)允许用户在无需Python 环境的情况下执行简单的单行命令。CLI 不需要定制或编写Python 代码,只需在终端使用 yolo 命令。有关从命令行使用YOLO 的更多信息,请参阅 CLI 指南.

示例

Ultralytics yolo 命令使用以下语法:

yolo TASK MODE ARGS
- TASK (可选)是 (侦测, 分部, , 姿势, obb) - MODE (必填)是 (训练, 缬氨酸, 预言, 出口, 赛道, 基准) - ARGS (可选)为 arg=valueimgsz=640 覆盖默认值。

查看全部 ARGS 在充分 配置指南 或使用 yolo cfg CLI 指挥。

训练检测模型 10 个历元,初始学习率为 0.01:

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

在图像大小为 320 时,使用预训练的分割模型预测 YouTube 视频:

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

Ultralytics YOLO Python 界面可无缝集成到Python 项目中,从而轻松加载、运行和处理模型输出。Python 界面设计简单,用户可以快速实现对象检测、分割和分类。这使得YOLO Python 接口成为将这些功能集成到Python 项目中的宝贵工具。

例如,用户只需几行代码就可以加载模型、训练模型、评估其性能并将其导出为ONNX 格式。查看Python 指南,了解在Python 项目中使用YOLO 的更多信息。

示例

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 设置版本(有别于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 Ultralytics HUBAPI 密钥
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扩展的提示。

随着项目或实验的进展,请重新检查这些设置,以确保最佳配置。

常见问题

如何使用 pip 安装Ultralytics ?

使用 pip 安装Ultralytics :

pip install ultralytics

这将安装最新稳定版的 ultralyticsPyPI.要直接从 GitHub 安装开发版本,请访问

pip install git+https://github.com/ultralytics/ultralytics.git

确保系统已安装 Git 命令行工具。

可以使用 conda 安装Ultralytics YOLO 吗?

是的,使用 conda 安装Ultralytics YOLO :

conda install -c conda-forge ultralytics

这种方法是 pip 的最佳替代方案,可确保与其他软件包兼容。对于CUDA 环境,安装 ultralytics, pytorchpytorch-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 年前 ✏️已更新 27 天前

评论