1 环境配置
下载:https://github.com/WongKinYiu/yolov9/tree/main
将压缩包放到自己的目标目录解压
1.1 虚拟环境配置
创建一个虚拟环境用于单独对yolov9的环境进行配置:
conda create -n yolov9 python=3.8
配置虚拟环境的工程依赖
# 激活你的虚拟环境
activate yolov9
# cd到你的yolov9-main
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 这里我提前注释掉了torch的安装部分,需要自行安装gpu版的torch、torchvision
查询自己的cuda版本:
选择下载合适的gpu版本的torch和torchvision:https://download.pytorch.org/whl/torch_stable.html
或官方链接:
这是我下载的版本:
然后命令行激活虚拟环境并cd到torch和torchvision的下载目录并通过pip install 下载
1.2 pycharm
打开setting设置自己的虚拟环境
2 训练自己的数据
2.1 构建数据文件目录
这里我的目录结构如下:
# 数据集分割
import os
import random
trainval_percent = 0.95
train_percent = 0.95
xmlfilepath = 'E:/yolov9-main/data/Annotations'
txtsavepath = 'E:/yolov9-main/data/images'
total_xml = os.listdir(txtsavepath)
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('E:/yolov9-main/data/ImageSets/trainval.txt', 'w')
ftest = open('E:/yolov9-main/data/ImageSets/test.txt', 'w')
ftrain = open('E:/yolov9-main/data/ImageSets/train.txt', 'w')
fval = open('E:/yolov9-main/data/ImageSets/val.txt', 'w')
for i in list:
img_path = os.path.join(txtsavepath, total_xml[i])
img_name, img_ext = os.path.splitext(total_xml[i])
if img_ext.lower() in ['.jpg', '.jpeg', '.png', '.bmp']:
img_type = img_ext.lower()[1:] # 获取图片实际格式,去除前面的点
name = f'E:/yolov9-main/data/images/{img_name}.{img_type}\n'
if i in trainval:
ftrainval.write(name)
if i in train:
ftrain.write(name)
else:
fval.write(name)
else:
ftest.write(name)
ftrainval.close()
ftrain.close()
fval.close()
ftest.close()
2.2 根据自己的路径修改源码
修改部分如下:
这里的yaml文件和路径等需要根据自己的数据集进行修改