命令行界面

Ultralytics 命令行界面 (CLI) 提供了一种无需 Python 环境即可使用 Ultralytics YOLO 模型的简便方法。该 CLI 支持直接从终端使用 yolo 命令运行各种任务,无需任何自定义或 Python 代码。



Watch: Mastering Ultralytics YOLO: CLI
示例

Ultralytics yolo 命令使用以下语法:

yolo TASK MODE ARGS

其中:

  • TASK (可选) 是 [detect, segment, classify, pose, obb, semantic] 之一
  • MODE (必填) 是 [train, val, predict, export, track, benchmark] 之一
  • ARGS (可选) 是任意数量的自定义 arg=value 对,例如 imgsz=320,用于覆盖默认设置。

查看所有 ARGS 请参阅完整的 Configuration Guide 或使用 yolo cfg

其中:

  • TASK (可选) 是 [detect, segment, classify, pose, obb, semantic] 之一。如果不显式传递,YOLO 将尝试从模型类型中推断 TASK
  • MODE (必填) 是 [train, val, predict, export, track, benchmark] 之一
  • ARGS (可选) 是任意数量的自定义 arg=value 对,例如 imgsz=320,用于覆盖默认设置。有关可用 ARGS 的完整列表,请参阅 Configuration 页面和 default.yaml
警告

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

  • yolo predict model=yolo26n.pt imgsz=640 conf=0.25
  • yolo predict model yolo26n.pt imgsz 640 conf 0.25
  • yolo predict --model yolo26n.pt --imgsz 640 --conf 0.25

训练

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

示例

开始在 COCO8 上训练 YOLO26n,进行 100 个 epoch,图像大小为 640:

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

验证

在 COCO8 数据集上验证训练模型的 accuracy。不需要参数,因为 model 保留了其训练时的 data 和参数作为模型属性。

示例

验证官方 YOLO26n 模型:

yolo detect val model=yolo26n.pt

预测

使用训练好的模型对图像进行预测。

示例

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

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

导出

将模型导出为不同的格式,如 ONNX 或 CoreML。

示例

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

yolo export model=yolo26n.pt format=onnx

可用的 Ultralytics 导出格式如下表所示。你可以使用 format 参数导出为任何格式,例如 format='onnx'format='engine'

格式format 参数模型元数据参数
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, int8, data, fraction, device
DeepXdeepxyolo26n_deepx_model/imgsz, int8, data, optimize, device

查看关于 export 的完整详细信息,请访问 导出 页面。

覆盖默认参数

通过在 CLI 中以 arg=value 对的形式传入参数,可以覆盖默认参数。

提示

以 0.01 的学习率训练检测模型 10 个周期:

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

覆盖默认配置文件

Override the default.yaml configuration file entirely by passing a new file with the cfg argument, such as cfg=custom.yaml.

To do this, first create a copy of default.yaml in your current working directory with the yolo copy-cfg command, which creates a default_copy.yaml file.

然后,你可以将此文件作为 cfg=default_copy.yaml 传入,并附带任何其他参数,例如本例中的 imgsz=320

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

解决方案命令

Ultralytics 通过 CLI 为常见的计算机视觉应用提供了开箱即用的解决方案。yolo solutions 命令涵盖了目标计数、裁剪、模糊处理、锻炼监控、热力图、实例分割、VisionEye、速度估计、队列管理、分析、Streamlit 推理以及基于区域的跟踪 — 请查看 解决方案 页面获取完整目录。运行 yolo solutions help 以列出所有支持的解决方案及其参数。

示例

统计视频或实时流中的目标:

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

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

常见问题

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

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

yolo train data=coco8.yaml model=yolo26n.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> 以获取现成的应用。

使用各种参数自定义每个任务。有关详细语法和示例,请参阅相应部分,如 训练预测导出

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

To validate a model's accuracy, use the val mode. For example, to validate a pretrained detection model with a batch size of 1 and an image size of 640, run:

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

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

我可以使用 CLI 将 YOLO 模型导出为哪些格式?

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

yolo export model=yolo26n.pt format=onnx

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

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

Ultralytics 通过 solutions 命令提供开箱即用的解决方案。例如,若要统计视频中的目标,请运行:

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

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

评论