使用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 12 Python
python生成随机mac地址的方法
Mar 16 Python
Python 中的 else详解
Apr 23 Python
Python在for循环中更改list值的方法【推荐】
Aug 17 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
Tensorflow中的降维函数tf.reduce_*使用总结
Apr 20 Python
Python导入数值型Excel数据并生成矩阵操作
Jun 09 Python
Python实现删除某列中含有空值的行的示例代码
Jul 20 Python
Django如何在不停机的情况下创建索引
Aug 02 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
Sep 21 Python
Python使用UDP实现720p视频传输的操作
Apr 24 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按字符无乱码截取中文的方法
2015/03/27 PHP
详解php设置session(过期、失效、有效期)
2015/11/12 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
JavaScript的变量作用域深入理解
2009/10/25 Javascript
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
通过jquery 获取URL参数并进行转码
2014/08/18 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
bootstrap网页框架的使用方法
2016/05/10 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
基于jQuery的表单填充实例
2017/08/22 jQuery
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
Django自定义分页效果
2017/06/27 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
如何通过python检查文件是否被占用
2020/12/18 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
协议书格式
2014/04/23 职场文书
2014年母亲节寄语
2014/05/07 职场文书
临床专业自荐信
2014/06/22 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
SQL Server使用T-SQL语句批处理
2022/05/20 SQL Server