发布时间:2023-04-19 文章分类:电脑基础 投稿人:樱花 字号: 默认 | | 超大 打印

目录

一、获取大佬的yolov7源码

二、配置深度学习环境

三、准备数据集 

四、用yolo v7训练自己的数据集

五、用训练好的模型测试

六、用训练好的模型预测


一、获取大佬的yolov7源码

yolov7源码地址,把ZIP文件下载后解压,打不开链接记得使用魔法,魔法自己找这个没办法教。或者也可以选择通过我分享的网盘下载:链接:百度网盘下载链接,提取码:yam3。

 打开解压后的文件夹应该可以看到这个页面。

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

二、配置深度学习环境

我的环境是:WIN10RTX2060Python=3.7

这里推荐使用Anaconda来创建环境,自己先在电脑上安装好conda的运行环境,这里特别注意在安装的时候记得把conda添加到环境变量中。具体怎么安装Anaconda网上教程一大堆,随手一搜都有,如果这都搞不定建议暂时先别学深度学习了。

再检查一下自己有没有安装好conda,win+r输入cmd再按Enter,进入命令行界面后输入conda -V,如果报错了就可能安装了anaconda但是没配置环境变量,或者是其他问题导致的报错,建议先想办法解决一下这个问题,如果显示的和下面一样那就是正常的,可以继续往下看。

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

 下一步新创建一个yolov7的环境,命令行输入:

conda create -n yolov7 python=3.7

激活环境:

conda activate yolov7

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

 下一步根据项目文件夹的requirements.txt下载安装所需要的包和库,在yolov7的环境下运行这条命令:

pip install -r 项目绝对路径/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

安装好后注意,如果你是用GPU来训练的话,需要重新安装pytorch框架,上面通过requirements.txt安装的pytorch包不是GPU版本的,需要另外重新安装GPU版本的pytorch,命令行运行这条命令重新安装pytorch:

pip install torch==1.8.2+cu111 torchvision==0.9.2+cu111 torchaudio===0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html -i  https://pypi.tuna.tsinghua.edu.cn/simple

另外提醒一下这个pytorch的版本要根据自己GPU的型号来确定,有可能会因为cuda版本问题在train的时候出现报错,不过这个问题我自己没遇到过,现在安装的这个版本在2060和3090上都能直接跑数据集不会出现报错。

安装好后打开Pycharm,依次点击文件(file)-- 打开(open)-- 选择到项目文件夹(名字是yolov7-main)。

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

 最后再去设置里面把Python的解释器设置成刚开始用conda创建的yolov7环境

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

三、准备数据集 

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

 再提醒以下文件结构,如果是初学者的话,最好是按照我上面说的,如果因为把文件摆在其他地方而导致了报错。。。。至此数据集就准备完毕了。’

四、用yolo v7训练自己的数据集

首先在cfg/deploy里面选一个yolo的版本

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

 我选的是yolov7x.yaml,打开这个文件,只需要改一个地方。

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

 下一步是在github上下载对应的权重文件,看清楚你在上一步选择的是哪个yolov7的模型,然后下载对应的权重文件。如果下载不下来可以看看我分享的百度网盘,提取码:oz0g。

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

 然后在yolov7-main里面创建一个叫weights的文件夹,把你下载的权重文件放进去。

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

打开train.py,下拉找到代码里设置的命令行参数项,按照自己的情况进行修改。

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

上面这些设置好之后运行train.py,如果一切顺利的话,慢慢等训练完成就行了。如果你没有改代码其他设置,那么你可以在runs/train/exp文件夹下获取这次训练的有关信息,runs/train/exp/weights文件夹里面保存了这次训练结束后整个网络模型的权重,后面进行检测时会用到。

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

五、用训练好的模型测试

打开test.py,找到命令行参数设置项

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

 设置好后点运行就是了,运行结果会保存在runs/test/exp文件夹里面,我自己没有设置测试集,所以不展示运行结果了。注意如果你要测试的话一定要在自己数据集的.yaml文件里面写清楚test.txt文件的路径,在文章上面也提到了。

六、用训练好的模型预测

首先把需要预测的图片放在inference/images文件夹下

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

 然后打开detect.py文件,修改命令行参数,和上面的一样,就不赘述了

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

 设置好后点击运行,运行结果保存在runs/detect/exp文件夹里面

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程

以上就是yolov7训练的整个过程,有问题可以在评论区提问或者私信我。也欢迎也欢迎私信和我讨论有关目标检测和目标跟踪方向的内容!