使用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之编写类之三子类
Oct 11 Python
Python获取系统默认字符编码的方法
Jun 04 Python
python实现随机调用一个浏览器打开网页
Apr 21 Python
python递归函数绘制分形树的方法
Jun 22 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
python模块之subprocess模块级方法的使用
Mar 26 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
解决Python列表字符不区分大小写的问题
Dec 19 Python
什么是python的必选参数
Jun 21 Python
Python创建临时文件和文件夹
Aug 05 Python
python基础入门之字典和集合
Jun 13 Python
Python FuzzyWuzzy实现模糊匹配
Apr 28 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
PHP pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
javascript 客户端验证上传图片的大小(兼容IE和火狐)
2009/08/15 Javascript
基于jquery的分页控件(C#)
2011/01/06 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
python实现简易淘宝购物
2019/11/22 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
美国在线印刷公司:PsPrint
2017/10/12 全球购物
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
教师实习自我鉴定
2013/12/18 职场文书
上课打牌的检讨书
2014/02/15 职场文书
公司联欢晚会主持词
2014/03/22 职场文书
自主招生英文自荐信
2015/03/25 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
西柏坡观后感
2015/06/08 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
学校隐患排查制度
2015/08/05 职场文书
《社戏》教学反思
2016/02/22 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python