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-.tar
tar xf VOCtrainval_06-Nov-.tar
tar xf VOCtest_06-Nov-.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-.tar
2012_train.txt VOCtrainval_06-Nov-.tar
2012_val.txt VOCtrainval_11-May-.tar
我们可以把自己真正要训练的文件合并成一个:
cat 2007_train.txt 2007_val.txt 2012_*.txt > train.txt
3)修改配置指向的数据(Pascal Data)
在cfg/voc.data里配置数据的指向:
classes=
train = <path-to-voc>/train.txt
valid = <path-to-voc>2007_test.txt
names = data/voc.names
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.
5)训练模型
./darknet detector train cfg/voc.data cfg/yolo-voc.cfg darknet19_448.conv.
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配置文件里配置:
classes=
train = <path-to-coco>/trainvalno5k.txt
valid = <path-to-coco>/5k.txt
names = data/coco.names
backup = backup
<path-to-coco>是你的具体路径指向
另外还需要配置你数据集是用于训练不是测试的,默认是测试的配置,在cfg/yolo.cfg:
[net]
# Testing
# batch=
# subdivisions=
# Training
batch=
subdivisions=
....
3)训练模型
./darknet detector train cfg/coco.data cfg/yolo.cfg darknet19_448.conv.
4)启用gpus执行训练,加速
./darknet detector train cfg/coco.data cfg/yolo.cfg darknet19_448.conv. -gpus ,,,
5)训练暂停或者从断点开始训练
./darknet detector train cfg/coco.data cfg/yolo.cfg backup/yolo.backup -gpus ,,,
8,官方特别声明的
如果你使用他们的框架,必须在注释里说明框架来源,可以直接在注释里粘入下面的注释:
@article{redmon2016yolo9000,
title={YOLO9000: Better, Faster, Stronger},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1612.08242},
year={}
}
参考地址:https://pjreddie.com/darknet/yolo/
论文地址 :https://arxiv.org/abs/1612.08242
yolo算法框架使用二的更多相关文章
- YOLO 算法框架的使用一(初级)
YOLO官方框架使用C写的,性能杠杠的,YOLO算法,我就不做过多介绍了.先简单介绍一下这个框架如何使用.这里默认是yolo2,yolo1接近过时.环境 推荐ubuntu 或者centos YOLO是 ...
- 第三十五节,目标检测之YOLO算法详解
Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: Unified, real-time object de ...
- Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解
Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全 Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...
- [DeeplearningAI笔记]卷积神经网络3.1-3.5目标定位/特征点检测/目标检测/滑动窗口的卷积神经网络实现/YOLO算法
4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1目标定位 对象定位localization和目标检测detection 判断图像中的对象是不是汽车--Image clas ...
- 知识图谱+Recorder︱中文知识图谱API与工具、科研机构与算法框架
目录 分为两个部分,笔者看到的知识图谱在商业领域的应用,外加看到的一些算法框架与研究机构. 文章目录 @ 一.知识图谱商业应用 01 唯品金融大数据 02 PlantData知识图谱数据智能平台 03 ...
- 7、滑动窗口套路算法框架——Go语言版
前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...
- MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)
前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...
- JavaScript 框架设计(二)
JavaScript 高级框架设计 (二) 上一篇,JavaScript高级框架设计(一)我们 实现了对tag标签的选择 下来我们实现对id的选择,即id选择器. 我们将上一篇的get命名为getTa ...
- 【原创】NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示
前言 NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能.这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2.而Netty的主要版本是Netty3和Netty ...
随机推荐
- 《CDN 之我见》原理篇——CDN的由来与调度
CDN是将源站内容分发至全国所有的节点,从而缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性的技术.它能够有效解决网络带宽小.用户访问量大.网点分布不均等问题. 为了让大家更全面的了解 ...
- matlab 函数句柄@的介绍_什么是函数句柄(转)
http://blog.csdn.net/kevinhg/article/details/8861774 http://www.ilovematlab.cn/thread-30375-1-1.html ...
- November 21st 2016 Week 48th Monday
A bird is known by its note, and a man by his talk. 闻其声而知鸟,听其言而知人. Listen to what a man talks, watch ...
- 18年11月5日 NOIP模拟赛
T1 题解 对于k=100的情况,贪心 对于100%的数据 可以发现,当前的决策只对后面的开采有影响,且剩余耐久度与之后的开采收益成正比,如果倒着考虑这个问题,得出i-n的星球1点耐久度所能获得的最大 ...
- lambda表达式和groovy闭包的区别
groovy定义的闭包是 Closure 的实例,lambda表达式只是在特定的接⼝或者抽象类的匿名实现,他们之间最主要区别闭包可以灵活的配置代理策略⽽labmda表达式不允许
- 将项目发布到Maven中央仓库的不完整纪要
背景 有几个Utils性质的Jar需要跨项目引用,原本想部署私有Maven仓库,后来感觉太麻烦,索性直接发布到中央库,引用时也方便. 发布成功之后,觉得某些细节还是有必要记录一下. 资源 Sonaty ...
- sed 以及 awk用法
sed 格式 sed[options] "script" FILE.... 选项: -n:静默模式,不输出模式空间内的内容:默认打印空间模式的内容 -r:扩展的正则表达式 -f 文 ...
- [luogu2312] 解方程
题面 秦九韶公式 看了上面这个之后大家应该都会了, 就是读入的时候边读入边取模, 从\(1\)到\(m\)间将每一个数带进去试一下就可以了, 复杂度是\(O(nm)\)的. 古人的智慧是无 ...
- 禁止 "启动时恢复任何注册的应用程序"
在关闭计算机时 有些程序会进行注册 并在下次启动时恢复关闭前的状态(Restart Manager) 比如Chrome浏览器 应用程序实现这一功能可以调用RegisterApplicationRest ...
- Cannot find module 'webpack/lib/node/NodeTemplatePlugin' 问题原因和解决方案
当我配置了html-webpack-plugin 打包时报了这个错,查看了一下package.json发现没有webpack,说明使用了全局安装的webapck,导致的版本差异. 这里在本地安装web ...