一、准备工作
1、github下载yolov9代码
2、下载anaconda
国内镜像下载:
建议使用国内镜像下载,下载速度较快
官网下载:
Free Download | Anacondahttps://www.anaconda.com/download/
3、下载cuda
查看显卡可支持的最高cuda版本,下载时不能超过这个版本
下载地址:
CUDA Toolkit - Free Tools and Training | NVIDIA Developerhttps://developer.nvidia.com/cuda-toolkit
然后下载cudnn
cuDNN 9.0.0 下载 |NVIDIA 开发人员https://developer.nvidia.com/cudnn-downloads
对下载的cuDNN压缩包解压后出现如下三个文件夹
然后找到cuda的安装路径,我的安装路径如下:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
分别将cuDNN三个文件夹的内容分别复制到cuda对应的文件夹里面。
下载完成后,搭建环境配置,在系统环境变量中加入
中间一个是安装时自己加入的环境配置,不用管,加入以下两个环境变量即可,我的变量值是下面两个
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
打开终端输入nvcc -V
查看是否配置成功
这样便是配置成功
3、下载pytorch
下载网站:
Previous PyTorch Versions | PyTorchhttps://pytorch.org/get-started/previous-versions/
选择与自己电脑匹配的cuda版本
4、验证pytorch版本是否合适
打开pycharm新建窗口,新建项目输入以下代码验证
import torch
print(torch.__version__) # 查看torch当前版本号
print(torch.version.cuda) # 编译当前版本的torch使用的cuda版本号
print(torch.cuda.is_available()) # 查看当前cuda是否可用于当前版本的Torch,如果输出True,则表示可用
二、下载yolov9所需要的环境
1、打开anaconda终端
cd到yolov9所在的目录
新建python环境,使用python环境,下载yolov9所需要的环境,运行一下指令
pip install requirements.txt
三、正式工作
1、打开pycharm,新建项目,打开yolov9文件夹
打开detect.py文件,需改以下地方
这是权重配置
这里是待检测文件,下载的yolov9代码中有一张图片,可以用来练习
图片在data/images下
复制文件地址,替换detect.py下的代码
这是数据集地址,官网下载的代码中是没有coco128.yaml数据集的,替换成coco.yaml,下文详细说明。
default中默认为cpu,写入0为使用gpu
(1)数据集可使用自带的coco数据集,在pycharm中打开data文件夹
复制路径coco数据集路径
我使用的是绝对路径,复制路径后到detect.py中替换数据集地址
(2)权重下载yolov9的 yolov9-c-converted.pt 即可
下载后的权重文件放入yolov9的文件夹中,引用地址替换权重配置那个地方
我修改完的代码如下:
运行detect.py文件检测结果在runs\detect\exp文件下
四、训练模型
1.制作数据集,可参考我的另一篇文章:yolo数据集制作-CSDN博客
2.将数据集放在yolov9文件夹下,建议放在data文件下,分类好文件
3.打开train_duan.py文件,需修改以下几个地方
这里是放置预训练权重的地方,从github下载的yolov9-c-converted.pt。
这里是放置模型的地方,文件在以下这个路径里面
D:\yolov9-main\models\detect\yolov9-c.yaml
这里是放置待训练数据集的地方,即上文制作的数据集。
这里需要把
hyp.scratch-low.yaml改成hyp.scratch-high.yaml,因为从官网下载是没有这个low文件的只有high文件,在以下这个路径 yolov9-main/data/hyps/hyp.scratch-high.yaml
这里是需要训练多少次,根据需要需改。
这是一次放入多少张图片到gpu训练的,根据自己电脑情况修改,过大可能导致报错。
输入0即使用gpu训练模型
指数据装载时cpu所使用的线程数,默认为8。
以下是我修改过后的代码
完成后开始运行代码,至此训练模型结束,结果在runs\detect\exp文件下。
行文至此,
潜心学习,戒骄戒躁。
以上便是我的学习笔记,希望我的笔记可以帮助大家
注:我也是刚学习yolo算法,如果有错的地方请见谅!!!