安装Ultralytics
Ultralytics 提供多种安装方法,包括 pip、conda 和 Docker。您可以通过 ultralytics
pip 软件包,或通过克隆 Ultralytics GitHub 存储库 获取最新版本。Docker 也是在隔离容器中运行软件包的一个选项,可避免本地安装。
观看: Ultralytics YOLO 快速入门指南
安装
安装或更新 ultralytics
运行 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。用于更新 conda 软件包的Ultralytics 原料库位于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 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。
# 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 镜像,每一种都具有很高的兼容性和效率:
- 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 文件中的依赖项列表。请注意,上述所有示例都安装了所有必需的依赖项。
定制安装方法
虽然标准安装方法涵盖了大多数使用情况,但你可能需要更有针对性的设置。这可能涉及安装特定的软件包版本、省略可选的依赖关系,或替换软件包,如替换 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
),你可以 forkUltralytics 软件仓库,修改 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 安装时,都会使用自定义依赖集。在 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 fork。这样就能确保任何建立项目的人都能获得你的特定版本,以及修改后的依赖关系(如 opencv-python-headless
).
- 创建或编辑
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
. - 安装 文件中的依赖关系:
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=value
如 imgsz=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
)
将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")
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
这将安装最新稳定版的 ultralytics
从 PyPI.要直接从 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
, 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 指南中探索更多命令和使用示例。