使用darknet框架的imagenet数据分类预训练操作

 更新时间:2020年07月07日 10:35:22   作者:baidu_38371925  
这篇文章主要介绍了使用darknet框架的imagenet数据分类预训练操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

最近一段时间一直在研究yolo物体检测,基于网络上很少有yolo的分类预训练和yolo9000的联合数据的训练方法,经过本人的真实实验,对这两个部分做一个整理(本篇介绍yolo的分类预训练)

1、数据准备

1000类的Imagenet图片数据

因为Imagenet不同的类别数据都是单独放在一个文件夹中,并且有特定的命名,如‘n00020287',所以在做分类时我们不需要去制作特定的标签,只要训练的图片的path中包含自身的类别标签,而不含有其他类的标签即可。

制作用于训练的数据列表*classf_list.txt

2、分类标签制作

制作所有类别的标签列表new_label.txt和标签对应的类别名称的列表new_name.txt

new_label.txt

new_name.txt(训练时不需要,但是测试时可以显示出具体的类别)

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)

6 . 测试

./darknet classifier predict cfg/classf.data cfg/classf.cfg backup/classf.weights data/eagle.jpg

当然这只是刚刚训练了2000次测试的结果,只是测试,还需要继续训练。

以上这篇使用darknet框架的imagenet数据分类预训练操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用pytorch提取卷积神经网络的特征图可视化

    使用pytorch提取卷积神经网络的特征图可视化

    这篇文章主要给大家介绍了关于使用pytorch提取卷积神经网络的特征图可视化的相关资料,文中给出了详细的思路以及示例代码,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • Pandas的Apply函数具体使用

    Pandas的Apply函数具体使用

    这篇文章主要介绍了Pandas的Apply函数具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • python多线程、网络编程、正则表达式详解

    python多线程、网络编程、正则表达式详解

    这篇文章主要介绍了python多线程、网络编程、正则表达式,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • python HTTPX库实现同步异步请求用法示例

    python HTTPX库实现同步异步请求用法示例

    这篇文章主要为大家介绍了python HTTPX库实现同步异步请求用法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 利用matplotlib+numpy绘制多种绘图的方法实例

    利用matplotlib+numpy绘制多种绘图的方法实例

    matplotlib是Python最著名的绘图库,本文给大家分享了利用matplotlib+numpy绘制多种绘图的方法实例,其中包括填充图、散点图(scatter plots)、. 条形图(bar plots)、等高线图(contour plots)、 点阵图和3D图,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • Python安装Flask环境及简单应用示例

    Python安装Flask环境及简单应用示例

    这篇文章主要介绍了Python安装Flask环境及简单应用,结合实例形式分析了Flask框架的安装、以及路由、重定向、cookie等相关操作实现方法,需要的朋友可以参考下
    2019-05-05
  • Python参数解析模块sys、getopt、argparse使用与对比分析

    Python参数解析模块sys、getopt、argparse使用与对比分析

    今天小编就为大家分享一篇关于Python参数解析模块sys、getopt、argparse使用与对比分析,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Python中PDF转Word的多种实现方法

    Python中PDF转Word的多种实现方法

    在日常办公和数据处理中,经常需要将PDF文档转换为Word文档,以便进行编辑、修改或格式调整,Python作为一种强大的编程语言,提供了多种库和工具来实现这一功能,以下是对Python中PDF转Word技术的详细介绍,需要的朋友可以参考下
    2025-01-01
  • Python微信库:itchat的用法详解

    Python微信库:itchat的用法详解

    本篇文章主要介绍了Python微信库:itchat的用法详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 如何使用python读取Excel指定范围并转为数组

    如何使用python读取Excel指定范围并转为数组

    python处理数据文件的途径有很多种,下面这篇文章主要给大家介绍了关于如何使用python读取Excel指定范围并转为数组的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11

最新评论