yolov9训练

目录

说明

1、下载代码+安装新的python环境

2、准备数据

3、修改代码


说明

本文参考该博主的文章,在已经有数据的情况,进行简单总结。需要详细版见原文链接如下:YOLOV9保姆级教程-CSDN博客

1、下载代码+安装新的python环境

代码下载:GitHub - WongKinYiu/yolov9: Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information

pycharm打开下载的yolov9的文件,点击Terminal。

先输入: conda deactivate  为了退出(base)

然后新建环境:conda create -n yolov9(环境名称) python=3.8

进入环境:conda activate yolov9

安装所需:pip install -r requirements.txt

此时我们安装的只是基础的CPU状态,如果需要使用GPU训练,需要在pytorch中找到适合自己的cuda版本的torch口令然后下载。我用的conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge

2、准备数据

新建datasets文件,包含images和labels。

新建my_data.yaml,内容如下:path改为自己的datasets位置

path: D:\documents\yolov9-main\datasets  # dataset root dir
train: images/train  # train images (relative to 'path') 128 images
val: images/val # val images (relative to 'path') 128 images
test: images/test # test images (optional)nc: 2# Classes
names:  0: crack1: finger

images和labels分别放置准备好训练集验证集测试集,labels是txt格式的数据

3、修改代码

–weights : 此处更改为下载的yolov9-c.pt的绝对路径
–cfg : 此处更改为yolov9-c.yaml的绝对路径
–data : 此处更改为自己新建的data.yaml的绝对路径 
–hyp : 此处更改为data/hyps/hyp.scratch-high.yaml
原本是data/hyps/hyp.scratch-low.yaml但该文件内并未找到,,,猜测为YOLOv9作者调试过程中的小疏忽版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/heart_warmonger/article/details/136249119

--batch-size 2 (按照自己实际情况修改,我的是一个GPU,暂时先改为2,不行再调整)
--epochs 200(按照自己实际情况修改,一般200比较合适)
--device 0 (按照自己实际情况修改,我的是一个GPU)(报错了,删除0,乖乖改回默认!)

左上角点击文件,点击设置,设置环境为新建的环境

最终设置结果:

在train.py中右键开始训练即可。

报错了和原博主一样,以下为解决方案:

以下为成功训练。

--------------更新--------------------

哎哎哎!没用训练一个epoch就要四个多小时????

环境配置有问题,用上GPU试试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/511685.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:Vector的使用

一、vector的介绍 vector的文档介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以…

Studio One 6永久激活版 附完整图文安装破解教程

Studio One 6是一款功能强大的音乐制作和录音软件,专为Mac操作系统设计。它提供了多轨录音和混音、MIDI音乐制作、实时效果和处理、VST插件支持以及高级编辑和编排等丰富的功能。无论是专业音乐制作人还是音乐爱好者,都可以使用Studio One 6来创建和编辑…

Flutter中Widget的生命周期

Widget生命周期: createState-initState-didChangeDependency-build-deactive-dispose 可通过WidgetsBinding类对widget生命周期的回调进行监控。 createState:StatefulWidget 中用于创建 State; initState:State 的初始化操作&am…

电源完整性设计的重要三步!

电源模块布局布线 电源模块是电子设备的能量来源,其性能与布局直接影响到整个系统的稳定性和效率。正确的布局和走线不仅能减少噪声干扰,还能确保电流的顺畅流通,从而提高整体性能。 1、电源模块布局 ● 源头处理:电源模块作为…

STM32USART串口数据包

文章目录 前言一、介绍部分数据包两种包装方式(分割数据)HEX数据包文本数据包 数据包的收发流程数据包的发送数据包的接收固定包长的hex数据包接收可变包长的文本数据包接收 二、实例部分固定包长的hex数据包接收连接线路代码实现 可变包长的文本数据包接…

2核4g服务器能支持多少人访问?并发数性能测评

2核4g服务器能支持多少人访问?支持80人同时访问,阿腾云使用阿里云2核4G5M带宽服务器,可以支撑80个左右并发用户。阿腾云以Web网站应用为例,如果视频图片媒体文件存储到对象存储OSS上,网站接入CDN,还可以支持…

【Docker】若依后端项目搭建

一 搭建局域网 1 # 搭建net-ry局域网,用于部署若依项目docker network create net-ry --subnet172.68.0.0/16 --gateway172.68.0.1 # 注意1:关闭宿主机的防火墙,否者容器内部的MySQL、redis等服务,外部访问不了;开放…

JavaScript进阶 (2)

浅拷贝和深拷贝 只针对引用数据类型 浅拷贝 简单数据类型拷贝值,引用数据类型拷贝地址(只适合单层) 方法: 1.拷贝对象:Object.assgin() 或 展开运算符{...obj} 2.拷贝数组:Array.prototype.concat() 或…

电脑防火墙怎么关?分享2个简单方法

在当今数字化时代,保护计算机免受网络威胁和恶意软件攻击是至关重要的。电脑防火墙作为一种重要的安全措施,可以有效地阻止未经授权的网络访问,保障您的个人信息和数据安全。 然而,有时候在特定情况下,您可能需要临时…

IP风险画像有哪些应用?

IP风险画像,作为网络安全领域的一种重要技术手段,具有广泛的应用场景和深远的影响。通过对IP地址进行多维度的风险评估和特征提取,IP风险画像能够为组织和个人提供更加精准、全面的安全风险评估结果,从而帮助用户更好地识别、防范…

08. Nginx进阶-Nginx动静分离

简介 什么是动静分离? 通过中间件将动态请求和静态请求进行分离。分离资源,减少不必要的请求消耗,减少请求延时。 动静分离的好处 动静分离以后,即使动态服务不可用,静态资源仍不受影响。 动静分离示意图 动静分离…

[前端][死循环]问题发现[easyui]

文章目录 问题描述问题细节 解决思路综合分析 解决办法 问题描述 页面点击按钮跳转弹窗页面回显出数据 此弹窗页面中有年份,类型等,当选中年份/类型会重新触发回显方法(onSelect 中调用方法),回显对应年份/类型得数据 问题细节 最开始调试…