分类器训练的官网教程:https://pjreddie.com/darknet/train-cifar/
训练官网:https://pjreddie.com/darknet/yolo/
可以用官网给的数据集,跑通训练yolo权重文件
一、训练环境
需要ubuntu系统环境,然后安装上nvidia的显卡驱动,cuda,cudnn,darknet
在另一篇文章已讲述
二、标注数据集
1. 制作VOC数据集,就是一个这种格式的文件夹
2.将要标注的图片放在JPEGImage
3.下载labelImg
pip install labelimg
启动:labelimg
4.通过Open Dir打开图片存放的路径
按 ‘w’键,进行标注
按‘save’键,进行保存,生成xml文件
5.标注完成后,将JEPGImg文件夹下标注生成xml文件,剪切放在Annotations文件夹下
6. 在VOC2007 文件夹下, 创建text.py文件【windows上操作完成了】
7.将VOCdevdit整个文件夹拷贝到ubuntu环境下,darknet/script 目录下
初始的样子/
三、划分数据集
1. 运行text.py 就会在imageSets/Main目录下,生成四个txt文件
【这步操作为什么在官网上,没有呢】
python3 test.py
2. 格式转换,运行darknet/srcipts文件夹下面,voc_label.py
【运行之前,需要在voc_label.py 第九行,修改自己的类别名称】
【运行之前,需要看自己的voc数据是几几年的,在sets那里改成自己的】
因为VOC数据集还不能直接用于YOLO训练
python3 voc_label.py
就会
在VOC2007 生成labels文件夹
在scripts文件夹下,生成2007_train.txt和2007_val.txt
四、训练数据集
1. 在data下创建names的文件,可以将原来的voc.names进行复制,重命名为voc_dp.names。里面的内容是训练的类别
2. 在cfg创建data的文件,可以将原来的voc.data进行复制,重命名为voc_dp.data。
3. 在cfg创建cfg文件,可以复制yolov3-tiny.cfg,重命名为yolov3-tiny-dp.cfg
yolov3-tiny.cfg是用于网络参数配置的文件,它比yolov3.cfg网络层数交,占用资源少
1 训练时候,就把“Testing”下面的 batch和subdivisions注释,“Training”下面的batch和subdivsions取消注释。 测试时候相反
2 训练时候,batch=64,subdivsions=16
3 修改[yolo]层的classes,改成实际类别数目
4! max_batches 是训练最大次数,一般设置为 类别*2000。如果类别是5,那就设置成10000。
5 !setps设置成max_batches的80%和90%
前三个必改,后两个看情况
4. 在darknet目录,下载预训练权重文件
https://blog.csdn.net/nyist_yangguang/article/details/120802611
网上找找 darknet53.conv.74
5.开始训练
在darknet目录下,打开终端
./darknet detector train cfg/voc_dp.data cfg/yolov3-tiny-dp.cfg darknet53.conv.74 > log.txt -map
五、在ros中使用
使用remmina 连接jetson盒子
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!