当前位置: 首页 > news >正文

yolov7配置与训练记录(二)

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

相关文章:

  • Spring Cloud(十五):微服务自动化部署 DevOps CI/CD、Maven打包、ELK日志采集
  • [设计] Doris血缘解析流程
  • 【校招VIP】[推电影项目]商业项目的竞品分析和需求分析
  • 语法练习:array123
  • 设计模式之原型模式
  • JVM之垃圾收集器三
  • 【web前端期末大作业】基于html关爱空巢老人网页设计与实现
  • flutter课程(The Complete 2021 Flutter Development Bootcamp with Dart)学习总结
  • 架构师知识体系梳理
  • LaTex使用技巧9:argmin / argmax下标写法
  • MySQL表的操作
  • 给定一个已排序的数组,使用就地算法将重复的数字移除,使数组中的每个元素只出现一次,返回新数组的长度
  • Vue2基础篇-01-Vue2 入门概述
  • CleanMyMac2023一键清除垃圾缓存和恶意广告插件 时刻保持Mac畅快运行
  • 通信原理 | 彻底搞懂卷积
  • 微服务框架 SpringCloud微服务架构 20 RestClient 操作索引库 20.5 删除和判断索引库
  • Vue3知识点之数据侦测
  • 【Python恶搞】Python实现祝福单身狗的恶搞项目,快@你的好朋友,祝福他吧 | 附源码
  • 共享车位|基于SpringBoot+vue+node共享车位平台的设计与实现
  • 【Android - 技术期刊】第004期
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉