使用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 获取新浪微博的最新公共微博实例分享
Jul 03 Python
在Mac OS上搭建Python的开发环境
Dec 24 Python
python使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
详解如何使用Python编写vim插件
Nov 28 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
Django+zTree构建组织架构树的方法
Aug 21 Python
Python数组并集交集补集代码实例
Feb 18 Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 Python
详解python的xlwings库读写excel操作总结
Feb 26 Python
python中random模块详解
Mar 01 Python
Python+Tkinter打造签名设计工具
Apr 01 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 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
vue写一个组件
2018/04/09 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
python制作花瓣网美女图片爬虫
2015/10/28 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
Python日志处理模块logging用法解析
2020/05/19 Python
提高python代码运行效率的一些建议
2020/09/29 Python
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
责任胜于能力演讲稿
2014/05/20 职场文书
认真学习保证书
2015/02/26 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
微信小程序实现聊天室功能
2021/06/14 Javascript
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android
防止web项目中的SQL注入
2021/12/06 MySQL
django项目、vue项目部署云服务器的详细过程
2022/07/23 Servers