超详解| Yolov8模型手把手调参
| 配置 | 模型训练 | 验证 | 推理
YOLOv8是一款前沿、最先进(SOTA)的模型,基于先前YOLO版本的成功,引入了新功能和改进,进一步提升性能和灵活性。
然而,要充分发挥Yolov8的潜力,合理的参数配置是至关重要的。本文将带您深入了解Yolov8调参的每一个细节。无论您是初学者还是有经验的研究者,本文都将为您提供实用技巧和深入解读,帮助您在Yolov8的世界中取得更出色的成果。让我们一起开始这个令人激动的调参之旅吧!
文档目录
1. 代码获取方式
2. 准备项目环境
3. Yolov8使用
3.1. CLI
3.2. Python
4. default.yaml文件解读
4.1. 类型/模式参数
4.1.1. task: detect
4.1.2. mode: train
4.2. 训练参数
4.2.1. model
4.2.2. data
4.2.3. epochs: 100
4.2.4. patience: 50
4.2.5. batch: 16
4.2.6. imgsz: 640
4.2.7. save: True
4.2.8. save_period: -1
4.2.9. cache: False
4.2.10. device
4.2.11. workers: 8
4.2.12. project
4.2.13. name
4.2.14. exist_ok: False
4.2.15. pretrained: True
4.2.16. optimizer: auto
4.2.17. verbose: True
4.2.18. seed: 0
4.2.19. deterministic: True
4.2.20. single_cls: False
4.2.21. rect: False
4.2.22. cos_lr: False
4.2.23. close_mosaic: 10
4.2.24. resume: False
4.2.25. amp: True
4.2.26. fraction: 1.0
4.2.27. profile: False
4.2.28. freeze: None
4.2.29. overlap_mask: True
4.2.30. mask_ratio
4.2.31. dropout
4.3. 验证/测试参数
4.3.1. val: True
4.3.2. split: val
4.3.3. save_json: False
4.3.4. save_hybrid: False
4.3.5. conf
4.3.6. iou: 0.7
4.3.7. max_det: 300
4.3.8. half: False
4.3.9. dnn: False
4.3.10. plots: True
4.4. 预测参数
4.4.1. source
4.4.2. show: False
4.4.3. save_txt: False
4.4.4. save_conf: False
4.4.5. save_crop: False
4.4.6. show_labels: True
4.4.7. show_conf: True
4.4.8. vid_stride: 1
4.4.9. stream_buffer: False
4.4.10. line_width
4.4.11. visualize: False
4.4.12. augment: False
4.4.13. agnostic_nms: False
4.4.14. classes
4.4.15. retina_masks: False
4.4.16. boxes: True
4.5. 模型导出参数
4.5.1. format: torchscript
4.5.2. keras: False
4.5.3. optimize: False
4.5.4. int8: False
4.5.5. dynamic: False
4.5.6. simplify: False
4.5.7. opset
4.5.8. workspace: 4
4.5.9. nms: False
4.6. 超参数
4.6.1. lr0: 0.01
4.6.2. lrf: 0.01
4.6.3. momentum: 0.937
4.6.4. weight_decay: 0.0005
4.6.5. warmup_epochs: 3.0
4.6.6. warmup_momentum: 0.8
4.6.7. warmup_bias_lr: 0.1
4.6.8. box: 7.5
4.6.9. cls: 0.5
4.6.10. dfl: 1.5
4.6.11. pose: 12.0
4.6.12. kobj: 1.0
4.6.13. label_smoothing: 0.0
4.6.14. nbs: 64
4.6.15. hsv_h: 0.015
4.6.16. hsv_s: 0.7
4.6.17. hsv_v: 0.4
4.6.18. degrees: 0.0
4.6.19. translate: 0.1
4.6.20. scale: 0.5
4.6.21. shear: 0.0
4.6.22. perspective: 0.0
4.6.23. flipud: 0.0
4.6.24. fliplr: 0.5
4.6.25. mosaic: 1.0
4.6.26. mixup: 0.0
4.6.27. copy_paste: 0.0
4.7. 自定义配置文件
4.7.1. cfg:
4.8. 跟踪器设置
4.8.1. tracker: botsort.yaml
5. YOLOv8网络配置
5.1. Parameters
5.2. Backbone
5.3. Head
1. 代码获取方式
Yolov8项目地址:https://github.com/ultralytics/ultralytics
首先切换至指定目录,执行以下命令克隆Yolov8项目代码到本地。
$: git clone https://github.com/ultralytics/ultralytics
2. 准备项目环境
切换至ultralytics,安装依赖包。
$: cd ultralytics
$: pip install -r requirements.txt
如果加快下载速度,可使用国内源,例如:
$: pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
3. Yolov8使用
3.1. 命令行界面(CLI)
YOLOv8可以在命令行界面(CLI)中直接使用,只需输入yolo命令,例如:yolo predict model=yolov8n.pt imgz=640 source='https://ultralytics.com/images/bus.jpg'
其中,
predict:是指这条命令用于进行模型预测。
model:指定要使用的模型文件,示例中yolov8n.pt是Yolov8预训练模型。
imgz:指定输入图像的尺寸大小。
source:指定输入图像读取路径。
3.2. Python
YOLOv8也可以在Python环境中直接使用,并接受与上述CLI示例中相同的参数。
from ultralytics import YOLO # 加载模型
model = YOLO("yolov8n.yaml") # 从头开始构建新模型
model = YOLO("y