Yolov5-v3.0训练过程
文章目录
一、资源下载
Yolov5分为多个版本,这里用到的是yolov5的v3.0版本。注意,不同版本所需要的版本号也不同,具体可以看requiremets.txt。官方下载地址:https://github.com/ultralytics/yolov5.git
资源分享下载链接:
源代码链接:https://pan.baidu.com/s/1K_OmHSirEblGPPZtQvOTLg 提取码:j2rh
yolov5s.pt链接:https://pan.baidu.com/s/12Jg8Ca4T9kEg7nhJEujSFQ 提取码:yfj5
yolov5m.pt链接:https://pan.baidu.com/s/1iyXuUee24Junhy624l5MHA 提取码:k6j9
如需yolov5x.pt和yolovl.pt可自行到github上下载(注意权重文件一定要下载对应3.0版本的!)。
二、环境配置
CUDA:10.1 or 10.2(本文选用10.2)
Pytorch:1.6.0
torchvision:0.7.0
Pytorch下的Python:3.7
Pycharm:如何将项目移植到Pycharm中可参考我的另外一篇文章:如何在Pycharm中复现别人pytorch的项目实例_carrymingteng的博客-CSDN博客
其他所需的包可在cmd中进入到自己的Pytorch环境中,用pip install -r requirements.txt安装。当然可能有些依赖包会出现安装不成功,这里建议可以借助Pycharm进行安装,或者自行下载安装包进行安装。
注意:官方给出的环境配置要求为CUDA>=10.1,但实际操作如果CUDA版本过高会出现无法运用GPU的问题。具体版本对应关系可参见下图。
三、准备自己的数据集(VOC格式)
1.利用train_val.py文件生成test.txt train.txt trainval.txt val.txt
进入到yolov5文件夹下,创建paper_data文件夹,目录结构如下图。
–Annotations 存放xml文件
–images 存放jpg格式图片
–ImageSets/Main 在ImageSets下创建Main文件夹用于存放利用train_val.py文件生成的四个txt文件。train_val.py文件存放在paper_data文件夹下,代码如下:
# coding:utf-8
import os
import random
import argparse
parser = argparse.ArgumentParser()
#xml文件的地址,根据自己的数据进行修改 xml一般存放在Annotations下
parser.add_argument('--xml_path', default='Annotations', type=str, help='input xml label path')
#数据集的划分,地址选择自己数据下的ImageSets/Main
parser.add_argument('--txt_path', default='ImageSets/Main', type=str, help='output txt label path')
opt = parser.parse_args()
trainval_percent = 1.0
train_percent = 0.9
xmlfilepath = opt.xml_path
txtsavepath = opt.txt_path
total_xml = os.listdir(xmlfilepath)
if not os.path.exists(txtsavepath):
os.makedirs(txtsavepath)
num = len(total_xml)
list_index = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list_index, tv)
train