YOLOv9配置环境训练自己的数据集(电脑版)

本文详细介绍了如何在Windows环境中创建并激活名为yolov9的虚拟环境,安装CUDA、PyTorch等深度学习库,并配置YOLOv9的需求包、数据指引文件和train_dual.py参数,以优化GPU使用效率。
摘要由CSDN通过智能技术生成

一、创建新的虚拟环境

1、打开Anaconda Powershell Prompt(AnacondaInstall) 

2、导入YOLOv9程序的目录

指令格式为 cd ......(YOLOv9程序的绝对路径)

3、创建名为yolov9的虚拟环境

终端命令输入以下指令,创建一个名为yolov9(命名可以按自己习惯)的虚拟环境,其python版本为3.8(视自己情况设置)

conda create -n yolov9 python=3.8

y/n时输入y,继续创建虚拟环境

4、激活yolov9虚拟环境

终端命令输入以下指令

conda activate yolov9

效果如下:

二、安装CUDA、Pytorch、Torchversion三者匹配的深度学习环境

1、查看设备支持的CUDA最高版本

终端命令输入以下指令

nvidia-smi

2、PyTorch官网下载版本为12.1的CUDA

官网链接如下

Previous PyTorch Versions | PyTorch Installing previous versions of PyTorchicon-default.png?t=N7T8https://pytorch.org/get-started/previous-versions/终端命令输入以下图片指示的代码:

# CUDA 12.1
conda install pytorch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 pytorch-cuda=12.1 -c pytorch -c nvidia

特别提醒:

出现GPU占用率不高的一般原因:

(1)安装的CUDA版本超过了支持的设备最高版本

(2)CUDA、Pytorch、Torchversion、Torchaudio版本不对应

(3)works、batch-size参数设置过小

三、安装YOLOv9自带的需求包requirements.txt

1、终端命令输入指令

#不加清华源
pip install -r requirements.txt

注意一定要在根目录下有requirements.txt文件。

2、若下载requirements.txt(或者其他第三方库)速度过慢可以尝试加清华源后下载

清华源代码如下:

conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

四、修改数据指引文件coco.yaml

注明训练集、验证集和测试集的绝对路径,注意用正斜杠“/”,并且将自己数据集的标签类别标明

以下是示例:

train: E:/Project_Practice/Insulator_Defect_detection/Du_Data/pin_defect/images/train 
val: E:/Project_Practice/Insulator_Defect_detection/Du_Data/pin_defect/images/test  
test: E:/Project_Practice/Insulator_Defect_detection/Du_Data/pin_defect/images/test  

# Classes
names:
  0: pin_defect

五、修改train_dual.py的参数

1、修改路径(此处注意用的是正斜杠“/”,而电脑目录一般用的是反斜杠“\”,建议都用绝对路径)

(1)data为数据路径,coco.yaml中需写明训练集、测试集的路径等信息

(2)cfg为网络结构路径,yolov9-c.yaml是yolov9原模型的网络结构

(3)project为模型训练结果保存路径,为防止混乱,建议一个模型改一个保存路径

(4)weights为权重路径

(5)hpy为超参数路径

parser.add_argument('--data', type=str, default= 'E:/Project_Practice/Transmission_Line_Defect_Detection/2_Object_Detection_Algorithm/yolov9/yolov9-main/yolov9-main/data/coco.yaml', help='dataset.yaml path')

parser.add_argument('--cfg', type=str, default= 'E:/Project_Practice/Transmission_Line_Defect_Detection/2_Object_Detection_Algorithm/yolov9/yolov9-main/yolov9-main/models/detect/yolov9-c.yaml', help='model.yaml path')
    
parser.add_argument('--project', default=ROOT / 'runs/yolov9_pin', help='save to project/name')

parser.add_argument('--weights', type=str, default=ROOT / 'yolov9-c-converted.pt', help='initial weights path')
    
parser.add_argument('--hyp', type=str, default=ROOT / 'data/hyps/hyp.scratch-high.yaml',help='hyperparameters path')

2、修改训练参数

(1)epochs为训练轮次

(2)batch-size为一次训练所抓取的数据样本数量,应为2的n次方

(3)wokers为装载数据时CPU的线程数,应为2的n次方

parser.add_argument('--epochs', type=int, default=100, help='total training epochs')
    
parser.add_argument('--batch-size', type=int, default=4, help='total batch size for all GPUs, -1 for autobatch')

parser.add_argument('--workers', type=int, default=4, help='max dataloader workers (per RANK in DDP mode)')

六、运行train_dual.py训练自己的数据集

步骤及效果如下:

可见,经过以上环境配置,GPU占有率在80~90%的合适区间,以下是在AutoDL上租服务器跑时的GPU占有率情况。(之前自己走过弯路,训练时间非常长,以此文总结心得和收获)

  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要使用yolov3-keras训练自己的数据集,您需要按照以下步骤进行操作: 1. 数据集准备: 首先,您需要准备您自己的数据集,并将其进行标注。您可以使用VOC2007数据集作为参考。确保您的数据集包含正确的文件夹结构,并且您的标注文件与图像文件匹配。 2. 生成训练集和验证集: 根据您的数据集,创建一个用于训练的文件夹和一个用于验证的文件夹。将您的数据集按比例划分到这两个文件夹中。 3. 修改参数文件: 根据您的数据集和需求,修改yolov3.cfg参数文件。确保您根据您的类别数量,修改参数文件中的类别数相关的选项。同时,您还可以根据需要调整其他参数,如输入图片大小等。 4. 修改类别文件: 创建一个voc_classes.txt文件,并在其中列出您的数据集中的类别名称。确保类别名称的顺序与您的标注文件中的类别顺序一致。 5. 修改训练脚本: 修改train.py文件,以便加载您的数据集和参数文件。确保您修改了相关的路径和文件名,并设置正确的训练参数,如批量大小、学习率等。 6. 开始训练: 运行train.py文件,开始训练您的模型。此时,您需要等待训练过程完成。训练时间可能会根据数据集的大小和计算资源的性能而有所不同。 请注意,您还需要安装相应的环境依赖,如tensorflow-gpu和keras,确保您的环境与yolov3-keras的要求一致。另外,您还可以参考相关的行动计划和具体实现内容,以了解更多关于训练自己数据集的细节。 总结起来,要使用yolov3-keras训练自己的数据集,您需要准备数据集、生成训练集和验证集、修改参数文件、修改类别文件、修改训练脚本并开始训练。记得根据自己的需求进行相应的调整和修改。希望这些信息对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值