yolov7训练自己的数据集
Posted 我把把C
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yolov7训练自己的数据集相关的知识,希望对你有一定的参考价值。
yolov7训练自己的数据集
一.安装yolov7并配置
1.安装Anaconda
miniconda清华源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
Miniconda3-py38_4.9.2-Windows-x86_64.exe:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.9.2-Windows-x86_64.exe
2.创建虚拟环境
在开始中找到Anaconda并打开
1.创建
conda create -n yolov7 python=3.7 -y
2.激活
conda activate yolov7
3.退出环境
conda deactivate
3.下载yolov7源码
方法一:yolov7官网:https://github.com/WongKinYiu/yolov7
方法二:打开cmd输入以下命令
git clone https://gitee.com/YFwinston/yolov7.git
cd yolov7
4.下载权重
方法一:百度网盘下载https://pan.baidu.com/s/1DbG5bI_Sm1U62poE9yb5dQ
提取码:cvss
方法二:官网下载(速度很慢不推荐)
打开官网后往下划找到Testing
yolov7官网:https://github.com/WongKinYiu/yolov7
权重下载完成后将其拖入下载好的yolov7文件夹中
5.安装依赖
打开yolov7文件夹后确认文件夹中是否有 requirements.txt 文档
在文件夹上方输入cmd按下回车打开如图
在打开的cmd中输入以下命令(可能需要安装一会)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
二.运行目标检测
打开yolov7所在文件夹
拍摄一张自己的帅照放入 inference文件夹中的images文件夹中
在yolov7文件夹中打开cmd并激活yolov7环境然后运行运行detect.py进行检测
conda activate yolov7
python detect.py --weights yolov7x.pt --conf 0.25 --img-size 640 --source inference/images/horses.jpg
horses.jpg可更改为自己的图片名
如果报错:ModuleNotFoundError: No module named 'cv2’在cmd中输入
pip install opencv-contrib-python
运行的结果在 runs/detect 文件夹中
三.训练自的数据集
1.创建所需文件
如图我们在yolov7下创建datasets文件夹然后创建images 和labels文件夹,一个是拿来放图片的,一个是拿来存images文件夹中处理jpg图片之后的txt数据
将自己所需要训练的图片放进 images/train和val下两个文件夹中放入差不多数量的图片
2.下载labelImg标注工具
参考::::labelImg使用教程
先打开Anaconda
输入以下命令安装
pip install labelImg
安装成功后cmd中输入labelImg即可打开
labelImg
按下w选中你要标注的物体即可
3.配置训练的相关文件
总共有两个文件需要配置,一个是/yolov7/cfg/training/yolov7.yaml,这个文件是有关模型的配置文件;一个是/yolov7/data/coco.yaml,这个是数据集的配置文件。
1.第一步,复制yolov7.yaml文件到相同的路径下,然后重命名,我们重命名为yolov7-xxx.yaml(起一个你想要的名字)然后打开
2.复制coco.yaml文件到相同的路径下,然后重命名,我们命名为xxx.yaml。(起一个你喜欢的名字)打开后进行更改如下图
ok
四.正式训练
此时我们在yolov7文件夹路径下cmd,并且激活虚拟环境,输入指令
conda activate yolov7
激活环境后输入
python train.py --weights yolov7x.pt --cfg cfg/training/yolov7-xxx.yaml --data data/xxx.yaml --batch-size 8 --epoch 300 --device 0
注意一定要将xxx改为自己的文件名称
这里我们使用gpu进行训练若用cpu去掉 --device 0 即可
对参数解释
–cfg 接受模型配置的参数
–data 接收数据配置的参数
–device 0 训练类型,我是一块GPU 所以用0
–batch-size 8 GPU内存大小决定
–epoch 训练次数,建议300
–weights 训练的权重
五.使用自己的权重
跟detect一样,进入虚拟环境输入权重路径和图片路径就ok了,指令如下
我是把best.pt直接拉到了yolov7文件夹路径下面,你们刚刚训练出来的在runs/train/circle/weights/best.pt
命令如下
python detect.py --weights best.pt --source xxx --device 0
注意将xxx换成自己的图片路径
ok
以上是关于yolov7训练自己的数据集的主要内容,如果未能解决你的问题,请参考以下文章