使用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比较文件夹比另一同名文件夹多出的文件并复制出来的方法
Mar 05 Python
Python全局变量操作详解
Apr 14 Python
Python浅拷贝与深拷贝用法实例
May 09 Python
Python基于pillow判断图片完整性的方法
Sep 18 Python
python 制作自定义包并安装到系统目录的方法
Oct 27 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
Tensorflow 实现释放内存
Feb 03 Python
Tensorflow全局设置可见GPU编号操作
Jun 30 Python
python 实现数据库中数据添加、查询与更新的示例代码
Dec 07 Python
使用豆瓣源来安装python中的第三方库方法
Jan 26 Python
基于python实现银行管理系统
Apr 20 Python
如何使用PyCharm及常用配置详解
Jun 03 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
星际争霸兵种名称对照表
2020/03/04 星际争霸
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
jQuery验证Checkbox是否选中的代码 推荐
2011/09/04 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
2019/07/29 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
Python做文本按行去重的实现方法
2016/10/19 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
商务英语应届生自我鉴定
2013/12/08 职场文书
妇女干部培训方案
2014/05/12 职场文书
小学教师个人先进事迹材料
2014/05/17 职场文书
社保委托书怎么写
2014/08/02 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
2014年行政工作总结
2014/11/19 职场文书
戒赌保证书
2015/05/11 职场文书
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers