yolo算法框架使用二
6,voc数据集训练模型
1)下载数据集
官网提供一些voc数据,是基于2007年到2012年的,你可以通过以下地址下载到:
wget https://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar wget https://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar wget https://pjreddie.com/media/files/VOCtest_06-Nov-2007.tar tar xf VOCtrainval_11-May-2012.tar tar xf VOCtrainval_06-Nov-2007.tar tar xf VOCtest_06-Nov-2007.tar
可以把数据存放到VOCdevkit/目录下
2)生成识别标签
识别标签必须是.txt文件的,具体格式如下:
<object-class> <x> <y> <width> <height>
Object-class 是分类的名称
其余元素是关联到图片的像素,宽和高的
通过下载官网提供的voc_label.py 我们可以快速的生成这一个文件,把他下载到scripts/目录下:
wget https://pjreddie.com/media/files/voc_label.py python voc_label.py
几分钟后,就会生成相应的文件存放到:
VOCdevkit/VOC2007/labels/ 或者 VOCdevkit/VOC2012/labels/下面:
ls 2007_test.txt VOCdevkit 2007_train.txt voc_label.py 2007_val.txt VOCtest_06-Nov-2007.tar 2012_train.txt VOCtrainval_06-Nov-2007.tar 2012_val.txt VOCtrainval_11-May-2012.tar
我们可以把自己真正要训练的文件合并成一个:
cat 2007_train.txt 2007_val.txt 2012_*.txt > train.txt
3)修改配置指向的数据(Pascal Data)
在cfg/voc.data里配置数据的指向:
1 classes= 20 2 train = <path-to-voc>/train.txt 3 valid = <path-to-voc>2007_test.txt 4 names = data/voc.names 5 backup = backup
<path-to-voc> 就是你数据集的指向
4)下载预训练的卷积的权重
这里用到卷积的权重是imageNet预训练提供:
wget https://pjreddie.com/media/files/darknet19_448.conv.23
你也可以通过下载预训练的Darknet19 448x448 model(https://pjreddie.com/darknet/imagenet/#darknet19_448) 模型来产生你自己的权重,执行下面的命名:
./darknet partial cfg/darknet19_448.cfg darknet19_448.weights darknet19_448.conv.23 23
5)训练模型
./darknet detector train cfg/voc.data cfg/yolo-voc.cfg darknet19_448.conv.23
7,用coco 训练yolo模型
Coco数据集,我没有用过,具体可以查看http://cocodataset.org/#overview 了解一下
1)获取coco数据集
下载coco的数据集和标签,可直接通过scripts/get_coco_dataset.sh脚本执行:
cp scripts/get_coco_dataset.sh data cd data bash get_coco_dataset.sh
这样标签和数据集都有了。
2)配置数据集的指向
在cfg/coco.data配置文件里配置:
1 classes= 80 2 train = <path-to-coco>/trainvalno5k.txt 3 valid = <path-to-coco>/5k.txt 4 names = data/coco.names 5 backup = backup
<path-to-coco>是你的具体路径指向
另外还需要配置你数据集是用于训练不是测试的,默认是测试的配置,在cfg/yolo.cfg:
[net] # Testing # batch=1 # subdivisions=1 # Training batch=64 subdivisions=8 ....
3)训练模型
./darknet detector train cfg/coco.data cfg/yolo.cfg darknet19_448.conv.23
4)启用gpus执行训练,加速
./darknet detector train cfg/coco.data cfg/yolo.cfg darknet19_448.conv.23 -gpus 0,1,2,3
5)训练暂停或者从断点开始训练
./darknet detector train cfg/coco.data cfg/yolo.cfg backup/yolo.backup -gpus 0,1,2,3
8,官方特别声明的
如果你使用他们的框架,必须在注释里说明框架来源,可以直接在注释里粘入下面的注释:
@article{redmon2016yolo9000, title={YOLO9000: Better, Faster, Stronger}, author={Redmon, Joseph and Farhadi, Ali}, journal={arXiv preprint arXiv:1612.08242}, year={2016} }
参考地址:https://pjreddie.com/darknet/yolo/
论文地址 :https://arxiv.org/abs/1612.08242
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?