Caffe系列2——制作LMDB数据详细过程(手把手教你制作LMDB)

制作LMDB详细教程

摘要:

  当我们在使用Caffe做深度学习项目时,经常需要制作Caffe常用的数据类型lmdb、leveldb以及hdf5等(尽管可以使用原始图片,效率低),而不是我们常见的JPG、PNG、TIF。因此,我们需要对我们采集的数据进行格式转换,即通过输入我们自己的图片目录(包含有训练集和验证集的大量图片)转换成一个lmdb库文件的输出;这个过程一般是有Caffe工具中的convert_imageset,该工具在编译过的Caffe中,具体位置是:D:\你的caffe根目录\caffe\caffe-windows\Build\Int\convert_imageset(这里其实没啥用,不要管它)。

开始正文:

   格式转换的4个必要条件:

   (1)编译好Caffe,而且convert_imageset存在;

  (2)需要被转换的图像和目录,注意它们是有要求的(请看稍后的文件目录架构);

  (3)在将图像转换为lmdb格式之前,首先生成两个标签文件train.txt和val.txt(具体格式见下文);

  (4)运行编辑修改好的create_imagenet.sh(最好将其制到你的项目文件夹下,不修改原始文件)生成lmdb文件。

      所在位置:D:\你的caffe根目录\caffe\caffe-windows\examples\imagenet 

 1. 数据集的组织架构(文件目录结构)

  接下来,我将会使用一个例子详细介绍即将要使用的数据集的目录结构。这里制作的是一个分类数据集,主要包括两个类别:dog和cat,我们用数字0表示cat的类别,数字1来表示dog类别。在总目录data_set文件夹下,包括两个子文件夹分别是train和val,它们分别存储着训练集和验证集的所有图片。在train文件夹下 也包含两个子文件夹,它们分别是“0”和“1”,里面分别存储的是dog和cat的所有图像。在val的文件夹下没有子文件夹(其实也可以像train一样),直接是将要用于验证的图像数据,我们可以根据图像的名字知道它所属的类别,便于写出val.txt文件。鉴于这一步是格式转换的基础,我将整个目录详细结构用图展示如下:

(1)数据集根目录所在路径:C:\Users\Administrator\Desktop

(2)data_set的子文件夹:C:\Users\Administrator\Desktop\data_set

(3)train的子文件夹:C:\Users\Administrator\Desktop\data_set\train

  (a)“0”文件夹下的文件:C:\Users\Administrator\Desktop\data_set\train\0

    这里图片文件的名字其实可以随意,因为文件夹就指出了它所属的类别。

  (b)“1”文件夹下的文件:C:\Users\Administrator\Desktop\data_set\train\1

    这里图片文件的名字其实可以随意,因为文件夹就指出了它所属的类别。

(4)val的子文件夹:C:\Users\Administrator\Desktop\data_set\val

    这里的图像文件的名字必须可以判断它所属的类别,我们使用python中的split()函数可以将文件名以“_”分隔开来获取图像所属类别,具体见程序。

  至此,我已经详细介绍了整个数据集的详细目录结构,我相信这已经足够详细啦!接下来,我们开始更至关重要的一步操作。

原文地址:https://www.cnblogs.com/xiaoboge/p/10678658.html

时间: 2024-11-05 06:04:55

Caffe系列2——制作LMDB数据详细过程(手把手教你制作LMDB)的相关文章

第一部分:使用iReport制作报表的详细过程(Windows环境下)

提示:在有些板块,文中的图片看不到,建议到我的blog浏览文章:http://blog.csdn.net/jemlee2002/文章将会涉及3个方面的内容: 第二部分:使用Jasperreport作为报表控件开发胖客户端报表应用 第三部分:使用Jasperreport作为报表控件开发Web报表应用 1.前言 在网络上可以搜索到很多使用iReport和Jasperreport配合实现各种报表任务的文章,但是我觉得很少有一篇(几乎没有)做一个比较详细的介绍如何使用iReport制作报表的全过程,我所

手把手教你制作一款iOS越狱App,伪装微信位置

说明 缘由 严重声明 概念 越狱的原理 iOS 目录层级结构 iOS 程序类型 准备工作 硬件设备 辅助软件 Mac 需要的工具 iOS 需要使用的辅助开发工具 逆向过程 静态分析 给App砸壳 使用IDA静态分析 动态调试 iOS 工程目录 制作Tweak Tweak 是什么 了解 Theos 安装iOSOpenDev 制作App App和Tweak通信交换数据 App如何加载Tweak App如何和Tweak 交互传输数据 打包安装 整理目录结构 执行打包命令 安装验证 发布App 总结 常

ps图标制作教学:手把手教你制作蓝色六角形的水晶图标

下面将会教大家用Photoshop去制作图标,本教程是以制作蓝色六角形的水晶图标,效果图为比较简单的图形图标,制作过程:先用路径或形状工具画出想要的图形,然后用图层样式等加上质感和纹理,顶部再添加一些小的文字或图形等即可.最终效果 ? 初学者到精通的进阶视频教程:E学堂ps cs6从入门到精通视频教程 素材搜集推介:e良师益友网设计制作 1.首先我们将整个图标分解开来,共有四部分组成,然后我们分层制作. 2.先在画布上绘制一个圆角六边形,然后添加下图所示的图层样式. 3.将之前那个圆角六边形复制

建模、纹理、后期,手把手教你制作《向日葵公主》

转自:http://www.gameres.com/769713.html <向日葵公主>的这个画像是一个个人项目,当我看到Gop Gap的概念原画时,我感觉其十分的神奇,我真的想在3D中做出这个角色.在<向日葵公主>这幅画的制作中,我将展示我是如何通过调整建模,纹理,光线和后期制作的方式来创建这个作品的. 步骤1:建模01 我最开始在ZBrush中对角色进行建模.我特别喜欢在ZBrush中进行建模,因为这样一来得出成果会非常的快.同时这个方法也非常简单,也可以用ZBrush在设计

手把手教你制作3.3V的Arduino

Arduino pro mini是基于ATmega328的微控制板,支持5V/3.3V电压.但是默认是5V电压.怎样才能让这款板板支持3.3V电压呢.        准备工作 1.  如果你从来没有使用过Arduino,你首先需要下载IDE.如何安装在此不赘述. 2.  准备两块板板,一块是我们的Arduino pro mini目标板,另一块是用来烧写目标板的arduino板板,本文使用一块同样的Arduino pro mini作为烧写板.(没有特殊原因,只因为博主刚好有两块Arduino pr

手把手教你制作AppPreview视频并上传到appStore进行审核

注意,你需要使用iMovie才能够制作AppPreview视频文件,用QuickTime录制的无效! 最终效果 1. 新建一个事件 2. 创建应用程序预览 3. 导入视频文件(该视频文件需要你用QuickTime事先进行录制,此处不赘述) 4. 导入音频文件 5. 将视频文件音频文件拖到编辑区域 6. 加载转场文件 7. 分离文件并添加转场文件 8. 剪辑结束 9. 导出并生成App Preview文件 注意: 导出文件的时候,需要选择正确的分辨率,否则提交不了(此处需要选择640x1136)

【openstack N版】——手把手教你制作生产环境镜像

一.CentOS7镜像制作 1.1创建CentOS7虚拟机 1.1.1创建虚拟磁盘 1 #注:尽量将虚拟机创建在控制节点,以便于将镜像上传至glance 2 [[email protected] ~]# qemu-img create -f qcow2 /tmp/centos7.qcow2 10G 1.1.2创建虚拟机 #非桥接网卡 [[email protected]-node1 ~]# virt-install --virt-type kvm --name centos --ram 1024

STM32F0xx_DMA收发USART数据配置详细过程

前言 关于DMA(Direct Memory Access)的功能,前面关注我微信的人应该知道,其实我已经在F1芯片上简单讲了一下.有网友要求在F0讲解一下使用DMA收发串口数据.今天就应网友要求总结一下在F0芯片上,使用DMA方式传输(收发)USART数据的功能. 在多种芯片上(F0.F1.F2.F3.F4)了解过DMA模块功能的朋友可能会发现一个特点,就是DMA的功能有很多相似的地方,甚至是一样.其实,每一个模块在不同系列芯片(甚至不同厂商)基本上是大同小异,这就是所谓的触类旁通.对于软件开

Caffe使用:如何将一维数据或其他非图像数据转换成lmdb

caffe事儿真多,数据必须得lmdb或者leveldb什么的才行,如果数据是图片的话,那用caffe自带的convert_image.cpp就行,但如果不是图片,就得自己写程序了.我也不是计算机专业的,我哪看得懂源码,遂奋发而百度之,然无甚结果,遂google之,尝闻“内事不决问百度,外事不决问google”,古人诚不我欺.在caffe的google group里我找到了这个网址:http://deepdish.io/2015/04/28/creating-lmdb-in-python/ 代码