caffe学习之convert_imageset:图片格式转lmdb/leveld格式
来源:互联网 发布:mac 中文字体 ttf 编辑:程序博客网 时间:2024/05/20 12:49
caffe中data_layer的输入数据的格式是lmdb或者leveld格式的。(hdf5_data_layer等layer暂不考虑)但是我们面对的原始数据往往是.jpg/.png格式的,所以需要进行一定的处理才能作为输入数据。
在这里主要用到的工具便是caffe源码中已经写好的一个工具caffe/tools/convert_imageset.cpp,只需对图片做一些处理便可自动帮你将图片格式转成lmdb或leveld格式。
下面就介绍下如何使用这个工具。
第一步,生成train.txt文件
根据自己的图片数据集,生成对应的train.txt文件。文件里的内容,每一行有两个字段,分别为:图片名和label,比如:
train.txt里面放着你的训练集
pic1.jpg 1pic2.jpg 2pic3.jpg 2pic4.jpg 3...
至于怎么生成train.txt需要你自己写对应的脚本生成,这里变不做介绍。
第二步,输入相关命令生成lmdb或leveld文件
先上一个例子,比如命令行下输入以下命令:
CAFFEROOT$ ./build/tools/convert_imageset data/img/ train.txt data/lmdb_data/my_lmdb
将会把CAFFEROOT
规范的格式如下:
convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME
convert_imageset : 可执行文件的命令
[FLAGS]: 可选参数,下面会讲
ROOTFOLDER/ : 图片保存的目录(绝对路径或者相对路径对应上即可)
LISTFILE .txt : 文件的位置(绝对路径或者相对路径对应上即可)
DB_NAME : 保存lmdb之后的文件位置(绝对路径或者相对路径对应上即可)
[FLAGS]参数:
DEFINE_bool(gray, false, "When this option is on, treat images as grayscale ones");DEFINE_bool(shuffle, false, "Randomly shuffle the order of images and their labels");DEFINE_string(backend, "lmdb", "The backend {lmdb, leveldb} for storing the result");DEFINE_int32(resize_width, 0, "Width images are resized to");DEFINE_int32(resize_height, 0, "Height images are resized to");DEFINE_bool(check_size, false, "When this option is on, check that all the datum have the same size");DEFINE_bool(encoded, false, "When this option is on, the encoded image will be save in datum");DEFINE_string(encode_type, "", "Optional: What type should we encode the image as ('png','jpg',...).");
从源代码中即可看到参数一共有gray、shuffle、backend、resize_width、resize_height、check_size、encoded、encode_type几种。
gray: 是否是灰度图,默认不是
shuffle: 是否需要对图片数据打乱,默认不需要
backend: 保存的格式,默认lmdb
resize_width: resize图片的宽度,因为caffe对于每个batch的图片size大小需要一致
resize_height: resize图片的高度
check_size: 是否检查图片大小是否一致,默认不检查
encoded: 是否将原始的图片放入lmdb或者leveld中,默认否
encode_type: encoded为ture时,需要注明原始图片的格式是什么,‘.jpg,.png’等等
- caffe学习之convert_imageset:图片格式转lmdb/leveld格式
- caffe 学习笔记之convert_imageset
- caffe学习之conver_imageset.bin的使用方法,caffe下图片转lmdb格式类型数据总结
- 使用caffe的convert_imageset生成lmdb文件
- 【深度学习】【caffe实用工具3】笔记25 Windows下caffe中将图像数据集合转换为DB(LMDB/LEVELDB)文件格式之convert_imageset
- caffe,将数据转换为lmdb/leveldb,convert_imageset.cpp 解析
- Caffe学习:build/tools/convert_imageset
- caffe LMDB 库学习
- Caffe—:convert_imageset.cpp函数分析和ImageNet数据集创建lmdb类型的数据
- caffe-windows:转化为lmdb格式
- linux caffe 将图片转为lmdb格式
- CAFFE学习笔记(四)将自己的jpg数据转成lmdb格式
- 深度学习caffe平台--制作自己.lmdb格式数据集及分类标签文件
- 深度学习caffe应用笔记--如何将图片转换为lmdb格式
- Caffe学习笔记(五)—— 相关cpp编译及数据转成lmdb格式
- CAFFE学习笔记(四)将自己的jpg数据转成lmdb格式
- 深度学习caffe平台--制作自己.lmdb格式数据集及分类标签文件
- Caffe入门学习(7)将自己的图像数据转成lmdb格式
- Java精选笔记_自定义标签
- 《剑指offer》翻转单词顺序列
- 【bzoj1098】[POI2007]办公楼biu
- SPOJ SUBST1 New Distinct Substrings(不同的子串个数)
- 自定义函数使用方法 py3
- caffe学习之convert_imageset:图片格式转lmdb/leveld格式
- MSCOMM二进制模式读取内容(中英混合)
- 魔法宝石(类似dp 杭电排位赛-2)
- list_head 双向循环链表的结构
- Call to undefined function openssl_encrypt(),安装laravel报错问题
- 简谈JS的原型链和作用域链
- SPOJ 1043 Can you answer these queries I (超强线段树)
- 什么叫区块链分叉?
- Android 第三方初始化不适合放在SplashActivity