跳转至内容

命令行界面

Ultralytics 命令行界面 (CLI) 提供了一种直接使用 Ultralytics YOLO 模型的方法,而无需 Python 环境。CLI 支持使用以下命令直接从终端运行各种任务 yolo 命令,无需定制或 python 代码。



观看: 精通 Ultralytics YOLO:CLI

示例

Ultralytics yolo 命令使用以下语法:

yolo TASK MODE ARGS

哪里: - TASK (可选)是 [detect, segment, classify, pose, obb] 之一 - MODE (必需)为 [train, val, predict, export, track, benchmark] 之一 - ARGS (可选)是任意数量的自定义 arg=value 键值对,例如 imgsz=320 用于覆盖默认值。

在完整版中查看所有 ARGS 配置指南 或使用 yolo cfg.

训练一个检测模型 10 个 epochs,初始学习率为 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 的 batch size 和 640 的图像大小验证预训练的检测模型:

yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640

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

yolo export model=yolo11n-cls.pt format=onnx imgsz=224,128

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

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

其中:

  • TASK (可选)是以下之一 [detect, segment, classify, pose, obb]。如果未明确传递,YOLO 将尝试推断 TASK
  • MODE (必需)是以下之一 [train, val, predict, export, track, benchmark]
  • ARGS (可选)是任意数量的自定义 arg=value 键值对,例如 imgsz=320 ,用于覆盖默认值。 有关可用 ARGS,请参阅 配置 页面和 defaults.yaml.

警告

参数必须以 arg=val 对,用等号分隔 = 签名,并用空格分隔对。不要使用 -- 参数前缀或逗号 , 在参数之间。

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

训练

在 COCO8 数据集上训练 YOLO,图像大小为 640,训练 100 个 epoch。有关可用参数的完整列表,请参见配置页面。

示例

开始在 COCO8 数据集上训练 YOLO11n,图像大小为 640,训练 100 个 epoch:

yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

恢复中断的训练会话:

yolo detect train resume model=last.pt

验证

验证 准确性 在 COCO8 数据集上训练模型的。由于 model 保留其训练 data 和参数作为模型属性,因此无需任何参数。

示例

验证官方 YOLO11n 模型:

yolo detect val model=yolo11n.pt

验证自定义训练的模型:

yolo detect val model=path/to/best.pt

预测

使用训练好的模型来运行图像预测。

示例

使用官方YOLO11n模型进行预测:

yolo detect predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'

使用自定义模型进行预测:

yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'

导出

将模型导出为其他格式,如 ONNX 或 CoreML。

示例

将官方 YOLO11n 模型导出为 ONNX 格式:

yolo export model=yolo11n.pt format=onnx

将自定义训练的模型导出为 ONNX 格式:

yolo export model=path/to/best.pt format=onnx

下表列出了可用的 Ultralytics 导出格式。您可以使用以下命令导出为任何格式: format 参数,即 format='onnx'format='engine'.

格式 format 参数 模型 元数据 参数
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, half, dynamic, optimize, nms, batch, device
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n.pb imgsz, batch, device
TF Lite tflite yolo11n.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch, device
MNN mnn yolo11n.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n_rknn_model/ imgsz, batch, name, device

查看完整 export 有关的详细信息 导出 页面。

覆盖默认参数

通过在 CLI 中传递参数来覆盖默认参数,例如 arg=value 键值对的形式传递参数来覆盖默认参数。

提示

训练一个检测模型 10 个 epochs,学习率为 0.01:

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

使用预训练的分割模型在YouTube视频上以320的图像尺寸进行预测:

yolo segment predict model=yolo11n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

使用 1 的批量大小和 640 的图像大小验证预训练的检测模型:

yolo detect val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640

覆盖默认配置文件

覆盖 default.yaml 通过传递一个新文件来完全替换配置文件。 cfg 参数,例如 cfg=custom.yaml.

为此,首先创建一份副本 default.yaml 在您当前的工作目录中使用 yolo copy-cfg 命令,它会创建一个 default_copy.yaml 文件。

然后,您可以将此文件作为以下内容传递: cfg=default_copy.yaml 以及任何其他参数,例如 imgsz=320 在此示例中:

示例

yolo copy-cfg
yolo cfg=default_copy.yaml imgsz=320

解决方案命令

Ultralytics 通过 CLI 为常见的计算机视觉应用提供即用型解决方案。这些解决方案简化了对象计数、锻炼监控和队列管理等复杂任务的实施。

示例

统计视频或直播流中的物体数量:

yolo solutions count show=True
yolo solutions count source="path/to/video.mp4" # specify video file path

使用姿势模型监控锻炼练习:

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

统计指定队列或区域中的物体数量:

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 在 Web 浏览器中执行对象检测、实例分割或姿势估计:

yolo solutions inference
yolo solutions inference model="path/to/model.pt" # use custom model

查看可用的解决方案及其选项:

yolo solutions help

有关 Ultralytics 解决方案的更多信息,请访问解决方案页面。

常见问题

如何使用 Ultralytics YOLO 命令行界面 (CLI) 进行模型训练?

要使用 CLI 训练模型,请在终端中执行单行命令。例如,要训练一个检测模型 10 个 epoch,学习率为 0.01,请运行:

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

此命令使用 train 具有特定参数的模式。有关可用参数的完整列表,请参阅 配置指南.

我可以使用 Ultralytics YOLO CLI 执行哪些任务?

Ultralytics YOLO CLI 支持各种任务,包括检测分割分类姿势估计旋转框检测。您还可以执行以下操作:

  • 训练模型:运行 yolo train data=<data.yaml> model=<model.pt> epochs=<num>.
  • 运行预测:使用 yolo predict model=<model.pt> source=<data_source> imgsz=<image_size>.
  • 导出模型:执行 yolo export model=<model.pt> format=<export_format>.
  • 使用解决方案:运行 yolo solutions <solution_name> 用于现成的应用程序。

使用各种参数自定义每个任务。有关详细的语法和示例,请参阅相应的章节,如 TrainPredictExport

如何使用 CLI 验证已训练 YOLO 模型的准确性?

要验证模型的 准确性,使用 val 模式。例如,要验证具有批处理大小为 1 和图像大小为 640 的预训练检测模型,请运行: 批次大小 为 1,图像大小为 640,运行:

yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640

此命令在指定的数据集上评估模型,并提供性能指标,如 mAP精度召回率。有关更多详细信息,请参阅 Val 部分。

我可以使用 CLI 将我的 YOLO 模型导出为什么格式?

您可以将 YOLO 模型导出为各种格式,包括 ONNX、TensorRT、CoreML、TensorFlow 等。例如,要将模型导出为 ONNX 格式,请运行:

yolo export model=yolo11n.pt format=onnx

export 命令支持许多选项,可以针对特定的部署环境优化您的模型。有关所有可用导出格式及其特定参数的完整详细信息,请访问导出页面。

如何在 Ultralytics CLI 中使用预构建的解决方案?

Ultralytics 通过以下方式提供即用型解决方案 solutions 命令。例如,要计算视频中的对象:

yolo solutions count source="path/to/video.mp4"

这些解决方案只需要最少的配置,并为常见的计算机视觉任务提供即时功能。要查看所有可用的解决方案,请运行 yolo solutions help。每个解决方案都有特定的参数,可以自定义以满足您的需求。



📅 创建于 1 年前 ✏️ 更新于 5 个月前

评论