yolov5训练模型

一个0到1的案例 后续会继续补充

环境python3.8.10

First

Second

  • 本地创建文件夹(yolov5同目录),如下图(仅供参考)





  • 利用labelimg打标签完后,开始训练

时间挺漫长,建议gpu跑

test_train代码如下:

import train

# if __name__ == '__main__':
#     train.run(data=r'D:\develop2\python_virtuals\3\datasets\coco128\test.yaml',
#               batch=8, epochs=100, single_cls=True,
#               weights=r'D:\develop2\python_virtuals\3\yolov5-master\yolov5s.pt')

# test
if __name__ == '__main__':
    train.run(data=r'E:\Code\Python\yolov5py38\yolov5\data\dog_and_cat.yaml',
              batch=1, epochs=100, single_cls=False, resume=True, workers=1, device='cpu',
              weights=r'E:\Code\Python\yolov5py38\yolov5\yolov5s.pt')

"YOLOv5"的训练参数可以通过命令行参数或配置文件来设置。以下是一些常见的yolov5train训练参数示例:

  1. --data:指定训练数据集的配置文件路径,该文件描述了数据集的位置、类别等信息。

  2. --cfg:指定模型的配置文件路径,该文件定义了网络架构和超参数。

  3. --weights:可选参数,用于加载预训练模型权重。

  4. --batch-size:指定训练时的批处理大小。

  5. --epochs:指定训练的迭代次数(轮数)。

  6. --img-size:指定输入图像的尺寸,通常以像素为单位(例如,--img-size 640)。

  7. --project:指定保存训练结果和日志的项目目录。

  8. --name:为训练实验指定一个名称,用于生成保存模型的文件名。

  9. --device:指定训练所使用的设备,例如--device 0表示使用GPU 0。

  10. --multi-scale:在训练过程中使用多尺度输入图像,有助于提升模型的鲁棒性。

  11. --accumulate:指定梯度累积的步数,有助于在内存较小的设备上训练大批次大小。

  12. --hyp:指定超参数文件的路径,该文件包含了调整训练过程中的各种超参数。

  13. --nosave:不保存训练过程中的模型权重。

  14. --notest:在训练结束后不进行测试集上的评估。

  15. --cache:缓存数据加载,以加速训练过程。

  16. --rect:使用矩形数据增强,将图像缩放到固定的长宽比。

  17. --resume:从先前的训练中恢复,继续进行训练。

  18. --notest:在每个训练周期结束后不进行测试集上的评估。

  19. --cfg:指定模型的配置文件路径,定义网络架构和超参数。

  20. --adam:使用Adam优化器进行训练。

  21. --optimizer:选择优化器,可以是sgdadam等。

  22. --momentum:当使用SGD优化器时,指定动量值。

  23. --weight-decay:权重衰减,用于控制正则化项的强度。

  24. --label-smoothing:标签平滑,有助于防止过拟合。

  25. --augment:启用数据增强。

  26. --mixed-precision:使用混合精度训练,加速训练过程。

  27. --local_rank:多GPU训练时,指定当前GPU的排名。

  28. --save-period:指定多少个训练周期保存一次模型权重。

  29. --cache-images:缓存图像,提高数据加载效率。

  30. --workers:数据加载的并行工作数。

  31. --image-weight:样本权重,用于平衡类别不平衡问题。

  32. --class-balance:启用类别平衡的损失计算。

  33. --upload_dataset:上传训练数据集到wandb(一个用于跟踪实验的工具)。

这些参数只是其中的一部分。具体的参数和用法可以在YOLOv5的官方文档或代码库中找到。可以选择适当的参数进行配置。

  • 训练完后,生成属于自己的best.pt or last.pt文件(自行百度介绍)

Thrid

  • best.pt复制到yolov5目录下,如图
  • 使用命令:python detect.py --weights best.pt --source ../dataset/dog_and_cat/images/val (val存放验证集图片),效果如下:

可参考

https://github.com/ultralytics/yolov5/tree/master
https://zhuanlan.zhihu.com/p/501798155
https://blog.csdn.net/weixin_42377570/article/details/128675221
https://lightningleader.github.io/posts/15.html

posted @ 2023-08-22 10:25  __username  阅读(176)  评论(0编辑  收藏  举报

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。