使用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 Django模板的使用方法(图文)
Nov 04 Python
python中的全局变量用法分析
Jun 09 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
Apr 05 Python
浅谈对yield的初步理解
May 29 Python
python+selenium+autoit实现文件上传功能
Aug 23 Python
python回调函数中使用多线程的方法
Dec 25 Python
Python格式化日期时间操作示例
Jun 28 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
python实现手机销售管理系统
Mar 19 Python
scikit-learn线性回归,多元回归,多项式回归的实现
Aug 29 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
python将unicode和str互相转化的实现
May 11 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年10月第2期TV动画制作组换血!
2020/03/06 日漫
PL-880隐藏功能
2021/03/01 无线电
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
php浏览历史记录的方法
2015/03/10 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
jquery+ajax请求且带返回值的代码
2015/08/12 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
JS实现图片预加载之无序预加载功能代码
2017/05/12 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
python数据结构之链表详解
2017/09/12 Python
Python实现一个简单的验证码程序
2017/11/03 Python
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
Python模块的加载讲解
2019/01/15 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
解析Python3中的Import
2019/10/13 Python
python爬虫基础知识点整理
2020/06/02 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
python3中布局背景颜色代码分析
2020/12/01 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
优秀员工获奖感言
2014/03/01 职场文书
个人求职自荐信范文
2014/06/20 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
社区灵活就业证明
2014/11/03 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书