Link to this section命令行界面#
Ultralytics 命令行界面 (CLI) 提供了一种无需 Python 环境即可使用 Ultralytics YOLO 模型的方法。CLI 支持直接从终端使用 yolo 命令运行各种任务,无需任何自定义或 Python 代码。
Watch: Mastering Ultralytics YOLO: CLI
Ultralytics yolo 命令使用以下语法:
yolo TASK MODE ARGS其中:
TASK(可选) 是 [detect, segment, semantic, classify, pose, obb] 之一MODE(必需) 是 [train, val, predict, export, track, benchmark] 之一ARGS(可选) 是任意数量的自定义arg=value对,例如imgsz=320,用于覆盖默认设置。
在完整的 Configuration Guide 中或通过 yolo cfg 查看所有 ARGS。
其中:
TASK(可选) 是[detect, segment, semantic, classify, pose, obb]之一。如果未明确传入,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❌
Link to this section训练#
在 COCO8 数据集上训练 YOLO,运行 100 个 epoch,图像大小为 640。有关可用参数的完整列表,请参阅 Configuration 页面。
开始在 COCO8 上训练 YOLO26n,运行 100 个 epoch,图像大小为 640:
yolo detect train data=coco8.yaml model=yolo26n.pt epochs=100 imgsz=640Link to this section验证#
验证训练模型在 COCO8 数据集上的 accuracy。不需要参数,因为 model 会保留其训练的 data 和参数作为模型属性。
验证官方 YOLO26n 模型:
yolo detect val model=yolo26n.ptLink to this section预测#
使用训练好的模型对图像进行预测。
使用官方 YOLO26n 模型进行预测:
yolo detect predict model=yolo26n.pt source='https://ultralytics.com/images/bus.jpg'Link to this section导出#
将模型导出为其他格式,例如 ONNX 或 CoreML。
将官方 YOLO26n 模型导出为 ONNX 格式:
yolo export model=yolo26n.pt format=onnx下表列出了可用的 Ultralytics 导出格式。你可以使用 format 参数导出为任何格式,例如 format='onnx' 或 format='engine'。
| 格式 | format 参数 | 模型 | 元数据 | 参数 |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
See full export details on the Export page.
Link to this section覆盖默认参数#
通过在 CLI 中以 arg=value 对的形式传递参数,可以覆盖默认参数。
训练一个检测模型,进行 10 个 epoch,学习率为 0.01:
yolo detect train data=coco8.yaml model=yolo26n.pt epochs=10 lr0=0.01Link to this section覆盖默认配置文件#
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=320Link to this section解决方案命令#
Ultralytics 通过 CLI 为常见的计算机视觉应用提供了即用型解决方案。yolo solutions 命令涵盖了对象计数、裁剪、模糊、锻炼监测、热图、实例分割、VisionEye、速度估计、队列管理、分析、Streamlit 推理和基于区域的跟踪——请参阅 Solutions 页面查看完整目录。运行 yolo solutions help 可列出所有支持的解决方案及其参数。
对视频或实时流中的对象进行计数:
yolo solutions count show=True
yolo solutions count source="path/to/video.mp4" # specify video file path欲了解更多关于 Ultralytics 解决方案的信息,请访问 Solutions 页面。
Link to this section常见问题解答#
Link to this section我该如何使用 Ultralytics YOLO 命令行界面 (CLI) 进行模型训练?#
要使用 CLI 训练模型,请在终端中执行单行命令。例如,要训练一个检测模型,进行 10 个 epoch,学习率为 0.01,请运行:
yolo train data=coco8.yaml model=yolo26n.pt epochs=10 lr0=0.01此命令使用带有特定参数的 train 模式。有关可用参数的完整列表,请参阅 配置指南。
Link to this section我可以使用 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>以使用现成的应用程序。
使用各种参数自定义每个任务。有关详细语法和示例,请参阅各个部分,如 训练、预测 和 导出。
Link to this section我该如何使用 CLI 验证已训练 YOLO 模型的准确性?#
要验证模型的 准确性,请使用 val 模式。例如,要验证一个预训练的检测模型,批大小为 1,图像尺寸为 640,请运行:
yolo val model=yolo26n.pt data=coco8.yaml batch=1 imgsz=640此命令会在指定的数据集上评估模型,并提供 mAP、精确率 和 召回率 等性能指标。有关更多详细信息,请参阅 Val 部分。
Link to this section我可以使用 CLI 将 YOLO 模型导出为哪些格式?#
你可以将 YOLO 模型导出为多种格式,包括 ONNX、TensorRT、CoreML、TensorFlow 等。例如,要将模型导出为 ONNX 格式,请运行:
yolo export model=yolo26n.pt format=onnxexport 命令支持多种选项,以针对特定部署环境优化模型。有关所有可用导出格式及其特定参数的完整详细信息,请访问 Export 页面。
Link to this section我该如何使用 Ultralytics CLI 中的预构建解决方案?#
Ultralytics 通过 solutions 命令提供即用型解决方案。例如,要在视频中计算对象:
yolo solutions count source="path/to/video.mp4"这些解决方案只需最少的配置,并能为常见的计算机视觉任务提供即时功能。要查看所有可用的解决方案,请运行 yolo solutions help。每个解决方案都有可以根据你的需求自定义的特定参数。