YOLOv8yaml文件结构详解
时间: 2024-12-27 22:26:06 浏览: 8
### YOLOv8 YAML 配置文件结构详解
#### 2.1 许可声明与模型描述
Ultralytics YOLO 🚀, AGPL-3.0 license 表明此代码由 Ultralytics 发布并遵循 AGPL-3.0 开源协议。YOLOv8 object detection model 描述了这是一个用于目标检测的模型,采用 P3 至 P5 层作为输出特征图[^1]。
#### 2.2 类别数量设定 `nc`
`nc: 80` 定义了模型能够识别的目标类别总数,默认情况下为 80 类,这与 COCO 数据集中的分类数目相匹配[^2]。
#### 2.3 模型尺度配置 `scales`
`scales` 参数指定了不同尺寸版本的 YOLOv8 模型,具体如下:
- **n**: nano 版本 (YOLONano),体积最小且速度最快;
- **s**: small 版本 (YOLOS),相对小巧但仍保持一定性能平衡;
- **m**: medium 版本 (YOLOM),提供较好的精度与效率折衷方案;
- **x**: extra-large 版本 (YOLOX),拥有最佳的表现力但也最耗资源;
这些变体通过调整网络深度、宽度以及最大通道数来实现差异化的架构设计。
```yaml
# Example of a simplified yolov8.yaml structure
train: ./data/train/
val: ./data/valid/
nc: 80 # number of classes
names: ['person', 'bicycle', ... , 'toothbrush'] # class names list
model:
depth_multiple: 0.33 # Model depth multiple.
width_multiple: 0.50 # Model width multiple.
head:
anchors:
- [10,13, 16,30, 33,23] # Anchors for the smallest scale feature map
- [30,61, 62,45, 59,119] # Medium scale...
- [116,90, 156,198, 373,326] # Largest scale...
training:
imgsz: 640 # Image size during training and inference
batch_size: 16 # Batch size used in SGD optimizer
```
阅读全文