Caffe从入门到精通07
来源:互联网 发布:java date 格式化毫秒 编辑:程序博客网 时间:2024/06/04 18:22
【将图像数据转换为leveldb/lmdb文件】
在实际应用中,我们常用到的原始数据是图片文件(jpg、png);而且有可能图片的额大小还不一致,而在caffe中经常使用的是lmdb或leveldb,所以,本文将举例介绍,如何将原始图片转换成caffe中能够运行的leveldb/lmdb文件。
在caffe中,convert_imageset.exe就是这样一个可以将图片文件转换为leveldb/lmdb文件的可执行程序!
该文件的使用格式:
convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME
这四个参数分别为:
FLAGS:图片参数组。包含要转换的格式、要初始化的图片大小等
ROOTFOLDER:图片存放的绝对路径,从caffe-master目录开始
LISTFILE:图片文件列表清单,一般为一个txt文件,一行一张图片
DB_NAME:最终生成的db(leveldb/lmdb)文件存放目录
【以caffe自带图片为例,实战图片数据转换】
下面将以caffe中自带的图片为例,这两张图片的目录是examps/images/,一张是cat.jpg,另一张是fish_bike.jpg,表示两个类别。如下图所示:
1.生成文件列表清单(LISTFILE)
在examps/images/文件夹下新建一个train.txt文件,手动输入一下内容:
其中,“1” 和 “2”是分别给这两个图片标注的类别编号。
当然,这是在图片量很少的时候用手动的方法编写,但在图片量很多的时候,就需要编写代码来生成类似的txt文件了。
生成的这个train.txt文件就可以作为第三个参数(LISTFILE)来直接使用了。
2.设定FLAGES参数组
-gray:是否以灰度图的方式打开图片,默认为false
-shuffle:是否随机打乱图片顺序,默认为false
-backend:需要转换成的db文件格式,可选为leveldb,默认为lmdb
-resize_width/resize_height:改变图片的大小。在运行中,要求所有的图片的尺寸一种,因此需要改变图片大小。默认为0,不改变
-check_size:检查所有的数据是否有相同的尺寸,默认为false,不检查
-encoded:是否将原图片编码放入最终的数据中,默认为false
3.编写批处理文件
%[flags] rootfolder listfile db_name %.\Build\x64\Release\convert_imageset.exe -backend=leveldb -resize_height=256 -resize_width=256 examples\images\ examples\images\train.txt examples\images\img_train_leveldbpause
这样我们就获得了这两张图片的leveldb格式的文件。
- Caffe从入门到精通07
- Caffe从入门到精通01
- Caffe从入门到精通02
- Caffe从入门到精通03
- Caffe从入门到精通04
- Caffe 从入门到精通05
- Caffe从入门到精通06
- Caffe从入门到精通08
- Caffe从入门到精通09
- 从零开始系列-Caffe从入门到精通之一 环境搭建
- 从入门到精通
- Google从入门到精通
- JAVA从入门到精通
- GOOGLE从入门到精通
- 搜索引擎从入门到精通
- RMS从入门到精通
- RSS从入门到精通
- RSS从入门到精通
- if break、if continue和if return三者之间的区别
- 【机器学习实战】第12章 使用FP-growth算法来高效发现频繁项集
- hostname
- 文章标题
- 分享一个白帽交流灵感的社区——先知技术安全社区
- Caffe从入门到精通07
- JS——Factory(工厂)模式
- 2017.11.3 关于C语言程序设计现代方法第9章第5题&&第8章第17题
- 关于C#开发中那些编码问题
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- 注解
- 基于C#的Http参数化请求工具
- 开发中 ios 11.0系统遇到的坑及解决办法
- IT连创业系列:说说苹果商店AppStore上架App应用前后遇到的那些神坑