软硬件配置:Ubuntu + Tesla m40 24GB + cuda10.2 + anaconda
一、环境部署
1、源码下载
https://github.com/ultralytics/yolov5
2、环境配置
创建虚拟环境
source create -n yolov5 python=3.7
激活虚拟环境
source activate yolov5
安装依赖库(cd到yolov5根目录requirements.txt下)
pip install -r requirements.txt
or 清华镜像源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
windows可能会出现以下错误:
ERROR: Could not find a version that satisfies the requirement torch>=1.6.0 (from -r requirements.txt (line 12)) (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2)
ERROR: No matching distribution found for torch>=1.6.0 (from -r requirements.txt (line 12))
原因是pytorch和torchvision的下载需要翻墙,我们需另外下载
附pytorch和torchvision网盘链接:
链接:https://pan.baidu.com/s/1Rm69ehzWaVAXmbXk4LND6w
提取码:sd3m
Ubuntu上一切很顺利,不知道pytorch的安装是不是和系统有关
还素比较简单滴,集成好的依赖库就是香啊
3、设置环境路径
选择File → Settings
★ 要选择Existing Environment,这个就是上面创建好的虚拟环境
★ Interpreter路径选择已配置好的虚拟环境下的python3.7
★ Conda executable路径选择系统里安装anaconda的bin文件下的conda
配置华景
二、训练yolov5
1、准备数据集
数据存放位置和数据结构
(1)新建如上图所示的文件夹,文件名要一致
(2)在JPEGImages中存放原图(可不用,只是为了保证完整格式)
(3)在image中存放原图
(4)在Annotations中存放xml格式的标签文件,每个xml文件对应JPEGImages的一张图片
(5)在ImageSets的Main文件夹下存放train.txt、val.txt 、trainval.txt、test.txt。分别存放的是训练集、验证集、训练集加验证集、测试集的图片名称,只包含名称不包含后缀和路径。这四个文件需要使用脚本生成。
import os
import random
trainval_percent = 0.8 # 训练集和验证集所占比例,剩下的0.2是测试集比例
train_percent = 0.8 # 训练集所占比例
xmlfilepath = 'data/Annotations'
txtsavepath = 'data/ImageSets'
total_xml = os.listdir(xmlfilepath)
num = len(total_xml)
list = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)
ftrainval = open('data/ImageSets/trainval.txt'