«

yolo中文文档-快速入门

时间:2024-9-29 14:07     作者:wanzi     分类: ultralytics


安装 Ultralytics

Ultralytics 提供多种安装方法,包括 pip、conda 和 Docker。通过 ultralytics pip 包安装 YOLOv8 以获取最新稳定版本,或通过克隆 Ultralytics GitHub 存储库安装最新版本。Docker 可用于在隔离容器中执行包,避免本地安装。

安装

利用 Docker 轻松在隔离容器中执行 ultralytics 包,确保在各种环境中保持一致和流畅的性能。通过从 Docker Hub 选择官方 ultralytics 映像之一,您不仅可以避免本地安装的复杂性,还可以受益于访问经过验证的工作环境。Ultralytics 提供 5 个主要支持的 Docker 映像,每个映像都旨在为不同的平台和用例提供高兼容性和效率:

以下是获取最新镜像并执行的命令:

# 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 卷将本地目录挂载到容器中:

# 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

对于高级 Docker 用法,请随意浏览 Ultralytics Docker 指南。

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

通过 CLI 使用 Ultralytics

Ultralytics 命令行界面 (CLI) 允许使用简单的单行命令,而无需 Python 环境。CLI 不需要自定义或 Python 代码。您只需使用 yolo 命令从终端运行所有任务即可。查看 CLI 指南以了解有关从命令行使用 YOLOv8 的更多信息。

例子

语法

Ultralytics yolo 命令使用以下语法:

yolo TASK MODE ARGS

查看完整配置指南中的所有 ARGS 或使用 yolo cfg CLI 命令。

训练

训练检测模型 10 个 epoch,初始 learning_rate 为 0.01:

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01
预测

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

yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
验证

验证批次大小为 1、图像大小为 640 的预训练检测模型:

yolo val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640
导出

将 YOLOv8n 分类模型导出为 ONNX 格式,图像大小为 224 x 128(无需 TASK):

yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128
特殊命令

运行特殊命令来查看版本、查看设置、运行检查等:

yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg

注意

参数必须以 arg=val 对的形式传递,用等号 = 分隔,各对之间用空格分隔。请勿在参数之间使用 -- 参数前缀或逗号 ,。

yolo predict model=yolov8n.pt imgsz=640 conf=0.25 ✅
yolo predict model yolov8n.pt imgsz 640 conf 0.25 ❌(缺少 =)
yolo predict model=yolov8n.pt, imgsz=640, conf=0.25 ❌(请勿使用 ,)
yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25 ❌(请勿使用 --)

通过 Python 使用 Ultralytics

YOLOv8 的 Python 接口可以无缝集成到您的 Python 项目中,从而轻松加载、运行和处理模型的输出。Python 接口在设计时考虑到了简单性和易用性,使用户能够在项目中快速实现对象检测、分割和分类。这使得 YOLOv8 的 Python 接口成为任何希望将这些功能整合到 Python 项目中的人的宝贵工具。

例如,用户只需几行代码就可以加载模型、训练模型、评估其在验证集上的表现,甚至将其导出为 ONNX 格式。查看 Python 指南,了解有关在 Python 项目中使用 YOLOv8 的更多信息。

例子

from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO("yolov8n.yaml")

# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolov8n.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 库提供了强大的设置管理系统,可对实验进行细粒度控制。通过使用 ultralytics.utils 模块中的 SettingsManager,用户可以轻松访问和更改其设置。这些设置存储在环境用户配置目录中的 JSON 文件中,可以直接在 Python 环境中或通过命令行界面 (CLI) 查看或修改。

检查设置

要深入了解设置的当前配置,您可以直接查看它们:

python

您可以使用 Python 查看您的设置。首先从 ultralytics 模块导入设置对象。使用以下命令打印并返回设置:

from ultralytics import settings

# View all settings
print(settings)

# Return a specific setting
value = settings["runs_dir"]

cli

或者,命令行界面允许您使用简单的命令检查您的设置:

yolo settings

修改设置

Ultralytics 允许用户轻松修改其设置。可以通过以下方式进行更改:

python

在 Python 环境中,调用设置对象上的更新方法来更改您的设置:

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()

cli

如果您更喜欢使用命令行界面,以下命令将允许您修改设置:

# 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 是否将分析和崩溃同步到 HUB
api_key '' str Ultralytics HUB API 密钥
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 是否使用权重和偏差记录
vscode_msg True bool 当检测到 VS Code 终端时,会提示下载 Ultralytics-Snippets 扩展。

在您浏览项目或实验时,请务必重新查看这些设置,以确保它们已根据您的需要进行了最佳配置。

常见问题

如何使用 pip 安装 Ultralytics YOLOv8?

要使用 pip 安装 Ultralytics YOLOv8,请执行以下命令:

pip install ultralytics

对于最新的稳定版本,这将直接从 Python 软件包索引 (PyPI) 安装 ultralytics 软件包。有关更多详细信息,请访问 PyPI 上的 ultralytics 软件包。

或者,您可以直接从 GitHub 安装最新的开发版本:

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

确保您的系统上安装了 Git 命令行工具。

我可以使用 conda 安装 Ultralytics YOLOv8 吗?

是的,您可以通过运行以下命令使用 conda 安装 Ultralytics YOLOv8:

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 YOLOv8 有哪些好处?

使用 Docker 运行 Ultralytics YOLOv8 提供了一个独立且一致的环境,确保在不同系统上流畅运行。它还消除了本地安装的复杂性。Ultralytics 的官方 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 YOLOv8 CLI?

Ultralytics YOLOv8 命令行界面 (CLI) 简化了运行对象检测任务的过程,无需 Python 代码。您可以直接从终端执行单行命令来执行训练、验证和预测等任务。yolo 命令的基本语法是:

yolo TASK MODE ARGS

例如,训练具有指定参数的检测模型:

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

查看完整的 CLI 指南以了解更多命令和使用示例。