前言
电脑基本配置:
1.系统:WIndows11
2.虚拟环境:Anconda
3.编辑器:vscode
4.GPU:gtx1070
一、环境配置
yolov7项目github地址:https://github.com/WongKinYiu/yolov7
如果不方便使用,可以下载下面的
csdn上的副本:https://download.csdn.net/download/qq_41776136/86177947
1.虚拟环境的创建
官方推荐使用docker,但本人电脑是windows无法安装nvidia-docker,因此还是利用conda创建虚拟环境
conda create -n yolov7 python=3.8
2.获取yolov7项目文件
在合适的目录下执行
git clone https://github.com/WongKinYiu/yolov7.git
3.安装所需的包
提前安装GPU版本的pytorch,在pytorch官网下载合适版本:
修改requirement.txt文件,将torch相关的注释掉:
在yolov7项目文件夹下运行
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
4.下载权重
可以在yolov7项目页面下载
不方便的话这里也可以
https://download.csdn.net/download/qq_41776136/86177947
下载后将.pt文件放到yolov7目录下
运行detect.py测试环境配置是否正常,没有报错就ok
二、训练自己的数据集
1.训练集格式
images和labels 分别存放图片与标签txt文件
2.修改yaml
在yolov7/data文件夹下新建yourdataset.yaml文件,并写入
train: ./VOCdevkit/images/train # train images
val: ./VOCdevkit/data/images/val # val images
test: ./VOCdevkit/data/images/test # test images (可选的)
# Classes
nc: 1 # number of classes
names: ['classname'] # class names
3.修改train.py的参数
主要修改参数:
1)–weights:替换为你下载的预训练权重
2)–data:修改为自己创建的额的yourdataset.yaml
4.训练结果
结束训练后会在如下图目录中保存训练结果
三、测试自己的训练结果
1.修改detect.py
1.将–weights指定为自己训练好的权重。
2.将–source指定为自己要测试的数据
2.运行
运行detect.py即可,测试结果将在yolov7/runs/detect下
四、可能遇到的问题:
1.运行detect.py遇到的问题:
1.subprocess.CalledProcessError: Command ‘git tag’ returned non-zero exit status 128?
答:注意参数是否正确
2.ImportError: The _imaging extension was built for another version of Pillow or PIL:Core version: “9.2.0” Pillow version: 9.2.0
答:重新安装较低版本的Pillow,例如7.1.2
2.运行train.py遇到的问题:
1.‘gbk’ codec can’t decode byte 0xae in position 450: illegal multibyte sequence(只会在windows下出现)
答:将train.py中第64行的代码
with open(opt.data) as f:
改为
with open(opt.data,encoding='utf8') as f:
3.CUDA out of memory
答:调低batch-size
4._pickle.UnpicklingError: STACK_GLOBAL requires str
答:可能之前用过这个数据集,删掉.labels.cache文件