首页IT科技yolov5训练报错(yolov7配置与训练记录(二))

yolov5训练报错(yolov7配置与训练记录(二))

时间2025-06-14 17:49:10分类IT科技浏览3995
导读:yolov7配置与训练记录(一 已经完成了环境的配置,下面开始文件内部的操作 yolov7官方下载地址为 git...

yolov7配置与训练记录(一) 已经完成了环境的配置,下面开始文件内部的操作

yolov7官方下载地址为 git clone https://github.com/WongKinYiu/yolov7

1 将下载好的预训练权重放在yolov7-main/weights内

需要在yolov7中新建weights文件夹(也是为了方便管理权重文件)

测试

python detect.py --weights weights/yolov7_training.pt --source inference/images

如果未报错,则说明成功

2 将准备好的数据放在yolov7-main/datasets内

需要在yolov7中新建datasets文件夹(也是为了方便管理训练数据文件)

datasets内部的文件放置规则如下图所示:

其中train_list和val_list中是放置的训练和测试的图片地址

可以参考python保存文件夹中的文件路径(绝对路径)进行生成.

这里推荐使用绝对路径,因为比较直观简单.

labels是通过labelme标注得到的,可以参考其他文章(等我再次用到了,我再来补充)

3 修改配置训练的相关文件

共需要修改两处

3.1 yolov7-main/cfg/training/yolov7.yaml

复制yolov7.yaml文件到相同的路径下              ,然后重命名                    ,我们重命名为yolov7-wuliu.yaml              。

打开yolov7-wuliu.yaml进行修改将nc修改为你的目标总数

本人的训练数据中共有5种目标,所以,改为5.

3.2 /yolov7/data/coco.yaml

复制coco.yaml文件到相同的路径下      ,然后重命名          ,我们命名为wuliu.yaml                    。

打开wuliu.yaml进行修改,

1将train和val修改为你的train_list和val_list的地址 2将nc修改为你的目标总数

本人的训练数据中共有5种目标,所以,改为5. 3将names修改为你的目标标签名称,

注意和你标注时的次序相同. # COCO 2017 dataset http://cocodataset.org # download command/URL (optional) # download: bash ./scripts/get_coco.sh # train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/] train: ./datasets/wuliu/train_list.txt # 118287 images val: ./datasets/wuliu/val_list.txt # 5000 images # test: ./coco/test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794 # number of classes nc: 5 # class names names: [ bridge, car, H, pillbox, tent ]

4 开始训练

python train.py --weights weights/yolov7_training.pt --cfg cfg/training/yolov7-wuliu.yaml --data data/wuliu.yaml --device 0 --batch-size 4 --epoch 10

相关参数的含义:

--weights weights/yolov7.pt # 接收预训练模型路径的参数 --cfg cfg/training/yolov7-Helmet.yaml # 接收模型配置文件的参数 --data data/Helmet.yaml # 接收数据配置文件的参数 --device 0,1 # GPU/CPU训练                     ,我有2块         ,因此为0,1;若1块      ,则0;若CPU                     ,则cpu --batch-size 64 # 按照自己GPU内存大小大致确定 --epoch 10 # 不用多说;我仅展示            ,因此不训练那么多次了

5 测试

训练完毕后在yolov7-main/runs/train/exp7/weights(不一定是exp7)中得到best.pt和last.pt

可以使用他们进行检测了.

python detect.py --weights runs/train/exp7/weights/best.pt --source data/images/bus.jpg

source后可以跟的参数.

python detect.py --source 0 # webcam file.jpg # image file.mp4 # video path/ # directory path/*.jpg # glob https://youtu.be/NUsoVlDFqZg # YouTube video rtsp://example.com/media.mp4 # RTSP, RTMP, HTTP stream

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
fatfilled dishes(myfastupdate.exe – myfastupdate是什么进程文件 有什么用) mac重装win系统教程(Mac如何重装系统?苹果电脑Mac重装系统教程图解)