使用darknet框架的imagenet数据分类预训练操作


Posted in Python onJuly 07, 2020

最近一段时间一直在研究yolo物体检测,基于网络上很少有yolo的分类预训练和yolo9000的联合数据的训练方法,经过本人的真实实验,对这两个部分做一个整理(本篇介绍yolo的分类预训练)

1、数据准备

1000类的Imagenet图片数据

因为Imagenet不同的类别数据都是单独放在一个文件夹中,并且有特定的命名,如‘n00020287',所以在做分类时我们不需要去制作特定的标签,只要训练的图片的path中包含自身的类别标签,而不含有其他类的标签即可。

制作用于训练的数据列表*classf_list.txt

使用darknet框架的imagenet数据分类预训练操作

2、分类标签制作

制作所有类别的标签列表new_label.txt和标签对应的类别名称的列表new_name.txt

new_label.txt

使用darknet框架的imagenet数据分类预训练操作

new_name.txt(训练时不需要,但是测试时可以显示出具体的类别)

使用darknet框架的imagenet数据分类预训练操作

3、修改cfg/.data配置文件(*classf.data)

classes=1000
train =/home/research/disk2/wangshun/yolo1700/darknet/coco/filelist/classf_list.txt
labels=data/new_label.txt
names=data/new_name.txt
backup=backup
top=5

修改网络配置文件(classf.cfg)

[net]
#Training
batch=64
subdivisions=1
width=416
height=416
channels=3
momentum=0.9
decay=0.0005
angle=0
saturation = 1.5
exposure = 1.5
hue=.1
max_crop = 512
learning_rate=0.001
burn_in=1000
max_batches = 1000000000
policy=steps
steps=350000,500000,750000,1200000
scales=.1,.1,.1,.1
[convolutional]
batch_normalize=1
filters=16
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=32
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=32
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
#######
[convolutional]
batch_normalize=1
size=1
stride=1
pad=1
filters=128
activation=leaky
[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=256
activation=leaky
[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=256
activation=leaky
[convolutional]
filters=1000
size=1
stride=1
pad=1
activation=leaky
[avgpool]
[softmax]
groups = 1
[cost]
type=sse

当然中间的网络层是我自己修改的网络。

5. 训练

./darknet classifier train cfg/classf.data cfg/classf.cfg -gpus 0,3(选择自己机器的gpu)

使用darknet框架的imagenet数据分类预训练操作

6 . 测试

./darknet classifier predict cfg/classf.data cfg/classf.cfg backup/classf.weights data/eagle.jpg

使用darknet框架的imagenet数据分类预训练操作

当然这只是刚刚训练了2000次测试的结果,只是测试,还需要继续训练。

以上这篇使用darknet框架的imagenet数据分类预训练操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
简单谈谈Python中函数的可变参数
Sep 02 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
Sep 18 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
Oct 01 Python
python查询mysql,返回json的实例
Mar 26 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
Python运维开发之psutil库的使用详解
Oct 18 Python
Python补齐字符串长度的实例
Nov 15 Python
在python中实现将一张图片剪切成四份的方法
Dec 05 Python
基于django传递数据到后端的例子
Aug 16 Python
对tensorflow 中tile函数的使用详解
Feb 07 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 Python
Python 中的 copy()和deepcopy()
Nov 07 Python
Python调用C语言程序方法解析
Jul 07 #Python
keras实现VGG16方式(预测一张图片)
Jul 07 #Python
通过实例解析Python RPC实现原理及方法
Jul 07 #Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 #Python
Scrapy模拟登录赶集网的实现代码
Jul 07 #Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
Jul 07 #Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 #Python
You might like
德生1994机评
2021/03/02 无线电
php实现爬取和分析知乎用户数据
2016/01/26 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
Spring MVC中Ajax实现二级联动的简单实例
2016/07/06 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
JavaScript实现HSL拾色器
2020/05/21 Javascript
[02:17]2016国际邀请赛中国区预选赛VG战队领队采访
2016/06/26 DOTA
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
python爬取指定微信公众号文章
2018/12/20 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
python基于openpyxl生成excel文件
2020/12/23 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
动漫专业高职生职业生涯规划书
2014/02/15 职场文书
房产继承公证书
2014/04/09 职场文书
导游词开场白
2015/01/31 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL