使用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正则表达式介绍
Aug 06 Python
python线程池的实现实例
Nov 18 Python
python处理文本文件并生成指定格式的文件
Jul 31 Python
基于hashlib模块--加密(详解)
Jun 21 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 Python
python实现简单多人聊天室
Dec 11 Python
python3.6环境安装+pip环境配置教程图文详解
Jun 20 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
详解python UDP 编程
Aug 24 Python
Pytest之测试命名规则的使用
Apr 16 Python
python微信智能AI机器人实现多种支付方式
Apr 12 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解析目录路径的3个函数总结
2014/11/18 PHP
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
Javascript缓存API
2016/06/14 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
使用python在本地电脑上快速处理数据
2017/06/22 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
python关于调用函数外的变量实例
2019/12/26 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
详解KMP算法以及python如何实现
2020/09/18 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
入党申请书自我鉴定
2013/10/12 职场文书
汽车专业毕业生推荐信
2013/11/12 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
劳资协议书范本
2014/04/23 职场文书
我爱我校演讲稿
2014/05/21 职场文书
商务经理岗位职责
2014/08/03 职场文书
申报优秀教师材料
2014/12/16 职场文书
初中生物教学随笔
2015/08/15 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js
Netty客户端接入流程NioSocketChannel创建解析
2022/03/25 Java/Android