使用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错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
python去除空格和换行符的实现方法(推荐)
Jan 04 Python
Python中利用xpath解析HTML的方法
May 14 Python
python文本数据处理学习笔记详解
Jun 17 Python
python代理工具mitmproxy使用指南
Jul 04 Python
Python实现一个数组除以一个数的例子
Jul 20 Python
Python实现决策树并且使用Graphviz可视化的例子
Aug 09 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
Oct 11 Python
在服务器上安装python3.8.2环境的教程详解
Apr 26 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
Jul 15 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
其他功能
2006/10/09 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
js快速排序的实现代码
2013/12/08 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
详解jQuery中的deferred对象的使用(一)
2016/05/27 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
vue项目实战总结篇
2018/02/11 Javascript
Vue项目history模式下微信分享爬坑总结
2019/03/29 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
微信小程序实现点击图片放大预览
2019/10/21 Javascript
JS实现图片懒加载(lazyload)过程详解
2020/04/02 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
python处理圆角图片、圆形图片的例子
2014/04/25 Python
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
python学生管理系统学习笔记
2019/03/19 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
python 带时区的日期格式化操作
2020/10/23 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
Marmot土拨鼠官网:美国专业户外运动品牌
2018/01/11 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
垃圾回收的优点和原理
2014/05/16 面试题
电子商务应届生求职信
2013/11/16 职场文书
高一数学教学反思
2014/02/07 职场文书
服装店营销方案
2014/03/10 职场文书
六一亲子活动总结
2014/07/01 职场文书
浅谈Python中的正则表达式
2021/06/28 Python