yolov7小白来了都会训练(真的是保姆级别)

一、YOLOv7代码下载

YOLOv7是原YOLOv4团队打造,在精度与速度之间取得较好的平衡,并且是现在较为优秀的目标检测模型

yolov7的代码下载路径:WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors (github.com)

二、环境配置

网上都有,推荐新手下载python3.8版本的。有想要长期训练自己代码能力的推荐使用Anaconda
安装教程网上都有,不要听网上的人使用清华源,什么源的全是有问题的,最好是慢慢下载,用源下载的后续出问题自己负责
在pycharm中使用Anaconda的步骤



接下来安装requirements.txt文件就可以了,还是推荐不使用源,当然使用源后果自负

pip install -r requirements.txt

三、使用GPU

pytorch:Start Locally | PyTorch
 

安装pytorch要确认

在安装之前呢,我们需要确定三件事
第一:查看显卡支持的最高CUDA的版本,以便下载对应的CUDA安装包
第二:查看对应CUDA对应的VS版本,以便下载并安装对应的VS版本(vs需要先安装)
第三:确定CUDA版本对应的cuDNN版本,这个其实不用太关注,因为在cudnn的下载页面会列出每个版本对应的cuda版本,11.x以上对应的范围很宽

网上有安装CUDA、cuDNN教程

安装完了就可以去安装pytorch,安装pytorch最好不要和cuda一个版本降一级

根据自己的电脑配置选择合适的CUDA版本



本人使用的是:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

进行GPU训练是会出现的报错本人有使用yoloV5,yoloV6,yoloV7,yoloV8,yoloV9,yoloV10
所安装不同版本的python使用pytorch都会报错在本人身上几乎是百分之百的
本人代码报错找不到,大致是这个

torchvision :nms

所有怎么解决呢,后面的版本--index-url https://download.pytorch.org/whl/cu118要和前面自己对的上

#先卸载 
pip uninstall torchvision 
#再安装
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

好接下来GPU写完了


四、准备数据集


几乎所有的文章数据集不讲清楚,明明很简单的
1、创建一个database的文件夹
文件夹里创建2个文件夹,分别为images,labels,顾名思义解释图像文件和标签文件,下面2个配置文件我稍等一下会讲(yaml文件)

images文件里放什么呢??如图所示当然是训练图、测试图、验证图,比例可以是7、1、2
测试集可以不用也就是test,train和valid必须要


labels文件里放什么呢??如图所示当然是训练图标签信息、测试图标签信息、验证图标签信息,比例可以是7、1、2,但是必须和前面的训练图、测试图、验证图,图片信息一模一样,不能是0001.jpg和0002.jpg的label信息
测试集可以不用也就是test,train和valid必须要,下面2个的cache不用在意你训练一次也会多2个出来,当然本人这边也是没有用到test测试集的图片所以缺失test的cache


接下来自制一个配置文件,命名为data.yaml,记得新建这是新建出来的yaml文件

# Please insure that your custom_dataset are put in same parent dir with YOLOv6_DIR
train: E:\python\yolov7\datasets\images\train  # 118287 images
val: E:\python\yolov7\datasets\images\valid  # 5000 images
test: E:\python\yolov7\datasets\images\test  # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794

# Classes
nc: 3  # number of classes
names: ['1', '2', '3']  # class names

这是本人的可以复制,train、val、test的地址全是你的图片文件路径地址,网上的人全是还是要建立一个txt文件防止文件路径信息完全没必要,多此一举
nc是什么是你的标签,比如人,人有男人、女人,所以你有2个nc,那names是什么呢?是:man,woman
接下来解释yolov7的配置文件你可以去:cfg/training里挑选复制一份到database文件夹里

原版,这是本人要用到的配置文件,你可以挑选别的配置文件,里面的算法是不一样的,调教出来的模型也是不一样的,根据图片多少来吧,本人就不介绍了

复制一份到database文件夹里命名为yolov7.yaml,只需要改nc就行,改你自己是多少nc这边的配置文件就多少nc


五、训练

训练非常简单,打开train.py,修改红框里的信息,哦对了pt文件记得下载
地址:
WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors (github.com)

ok回到正题,修改weights这是上面下载的pt文件地址路径,cfg是只需要改nc的配置文件,data是我们自己制作的yaml文件路径,epochs是轮数,数据集图片本人是700张训300轮,batch-size电脑配置差的就8,更差就4,再差你可以不要训了,抱歉  --device  填什么根据,使用gpu填0,使用cpu填cpu,当然你使用cpu等着一天就行因为真的慢

此外多提一下你可以将:resume此处的default改为True,便可以接着上一次的训练

此外本人真的要提醒yolov7真的烂,tmd训练那么gpu压根用不了多少,不能完全使用我的gpu进行训练,比yolov5,yolov8还慢,没有见过这么拉的

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值