Arguments received: ['yolo']. Ultralytics 'yolo' commands use the following syntax: yolo TASK MODE ARGS Where TASK (optional) is one of {'classify', 'obb', 'segment', 'pose', 'detect'} MODE (required) is one of {'tr
时间: 2025-03-30 13:03:47 浏览: 42
### Ultralytics YOLO 命令语法与用法
Ultralytics 提供的 YOLO 工具支持多种任务和模式,其命令具有高度灵活性。以下是关于 `TASK` 和 `MODE` 的具体说明以及对应的命令语法。
#### TASK 类型
YOLO 支持以下几种主要任务类型:
1. **detect**: 对象检测任务,用于识别图像中的物体及其边界框位置。
2. **classify**: 图像分类任务,用于判断输入图片属于哪个类别。
3. **segment**: 实例分割任务,不仅提供对象的位置还标注出像素级掩模。
4. **pose**: 关键点检测任务,主要用于人体姿态估计或其他关键点定位场景。
5. **obb (oriented bounding box)**: 定向边界框检测任务,适用于旋转矩形的目标检测。
每种任务都有特定配置文件 `.yaml` 来定义模型结构和其他参数设置[^1][^2]。
#### MODE 模式
YOLO 还提供了不同的运行模式以满足各种需求:
- **train**: 训练一个新的模型或者微调已有模型。
- **val**: 验证已训练好的模型性能,在验证集上评估指标如 mAP 等。
- **predict**: 使用预训练权重对单张或多张图片进行推理预测。
- **export**: 导出当前模型到其他框架或格式(ONNX, TorchScript 等),便于部署应用环境。
#### 通用命令模板
```bash
yolo task=<task> mode=<mode> model=<model_path_or_name>.yaml data=<data_config>.yaml epochs=<num_epochs> batch=<batch_size> device=<device_type>
```
其中 `<task>` 可选值为上述提到的任务名称;而 `<mode>` 则对应四种操作方式之一;另外还需要指定使用的模型路径或者默认模型名(`<model_path_or_name>`)、数据集配置文件 (`<data_config>.yaml`)以及其他超参比如迭代次数(`<num_epochs>`)、批次大小(`<batch_size>`)及计算设备(cpu/gpu cuda:id)[^3].
#### 示例代码片段
下面给出一些具体的例子帮助理解如何构建完整的 ultralytic-yolo 命令行指令.
##### 训练一个自定义的对象检测模型
假设我们有一个 coco 数据集样例,并希望基于 yolov8 动态头部改进版来进行训练,则可以这样写:
```bash
yolo task=detect mode=train model=cfg/models/v8/yolov8_DynamicHead.yaml data=cfg/datasets/coco128.yaml epochs=100 batch=16 device=cpu project=yolov8
```
##### 执行实例分割推断测试
如果想加载官方提供的 pre-trained weights 并尝试做一次 instance segmentation 推理实验的话,可执行如下脚本:
```bash
yolo task=segment mode=predict model=path/to/best_segmentation_model.pt source=test_images/
```
##### 将模型导出至 ONNX 格式以便后续加速优化处理
最后一步可能是为了方便实际产品线上服务考虑把最终版本转成 onnx 形式存储下来.
```bash
yolo export model=path/to/final_trained_model.pt format=onnx opset_version=12 simplify=True
```
以上就是有关于 ultralaytics yolo 不同功能模块下的基本使用介绍[^4].
---
阅读全文
相关推荐


















