Chapter 5 Convert Image Set To LevelDB/LMDB

Caffe中convert_imageset projrct将图像数据转换成Caffe能读取的数据格式leveldb/lmdb

1.添加命令参数

在main函数中添加命令参数,内容和位置如下:

#ifndef GFLAGS_GFLAGS_H_
    namespace gflags = google;
#endif
 
    //convert imageset By XiaopanLyu====================================================
    argc = 12;
    argv[0] = "convert_imageset";
    argv[1] = "-gray=true";//whether read gray image
    argv[2] = "-shuffle=true";//whether mix order
    argv[3] = "-resize_height=28";
    argv[4] = "-resize_width=28";
    argv[5] = "-backend=lmdb";//leveldb/lmdb
    argv[6] = "-check_size=false";
    argv[7] = "-encoded=true";
    argv[8] = "-encode_type=jpg";
    argv[9] = "E:/MyCode/DL/caffe-master/examples/images/";
    argv[10] = "E:/MyCode/DL/caffe-master/examples/convert_imageset/images_list.txt";
    argv[11] = "E:/MyCode/DL/caffe-master/examples/convert_imageset/img_convert/";
    //after read the [FLAGS] command, the argv & argc would be adjust automatically
    //==================================================================================
 
 
    gflags::SetUsageMessage("Convert a set of images to the leveldb/lmdb\n"
        "format used as input for Caffe.\n"
        "Usage:\n"
        "    convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME\n"
        "The ImageNet dataset for the training demo is at\n"
        "    http://www.image-net.org/download-images\n");
    gflags::ParseCommandLineFlags(&argc, &argv, true);

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Attention:

1)argv[10] = "E:/MyCode/DL/caffe-master/examples/convert_imageset/images_list.txt";该文件表示的是图像对应的标签,格式如下:

cat gray.jpg 1
cat.jpg 1
cat_gray.jpg 1
fish-bike.jpg 2

2)argv[11] = "E:/MyCode/DL/caffe-master/examples/convert_imageset/img_convert/";该路径下为生成的文件,若之前已经生成过,再次执行代码时要确保没有重复文件,否则会报错。

2.执行代码,得到结果

生成的文件如下:

时间: 2024-07-31 05:47:55

Chapter 5 Convert Image Set To LevelDB/LMDB的相关文章

caffe学习笔记(十)图像数据转换为db(leveldb/lmdb)文件

在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致.而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)文件? 在caffe中,作者为我们提供了这样一个文件:convert_imageset.cpp,存放在根目录下的tools文件夹下.编译之后,生成对应的可执行文件放在 buile/tools/ 下面,

深度学习文章3:将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件

将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件 在搭建好caffe环境之后,我们往往需要对自己的图像数据进行训练/测试,我们的图像数据往往时图片文件,如jpg,jpeg,png等,然而在caffe中我们需要使用的数据类型是lmdb或leveldb,例如:在之前测试MNIST数据集< 深度学习文章2:使用MNIST数据集验证Caffe是否安装成功 >时,我们运行脚本create_mnist.sh就是生成对应的db文件,运行后在~/caffe/examples/mnis

Caffe3——ImageNet数据集创建lmdb类型的数据

Caffe3——ImageNet数据集创建lmdb类型的数据 ImageNet数据集和cifar,mnist数据集最大的不同,就是数据量特别大:单张图片尺寸大,训练样本个数多:面对如此大的数据集,在转换成lmdb文件时:使用了很多新的类型对象. 1,动态扩容的数组“vector”,动态地添加新元素 2,pair类型数据对,用于存储成对的对象,例如存储文件名和对应标签 3,利用opencv中的图像处理函数,来读取和处理大尺寸图像 一:程序开始 由于要向imageNet数据集中设置resize和是否

CAFFE学习笔记(四)将自己的jpg数据转成lmdb格式

1 引言 1-1 以example_mnist为例,如何加载属于自己的测试集? 首先抛出一个问题:在example_mnist这个例子中,测试集是人家给好了的.那么如果我们想自己试着手写几个数字然后验证识别效果又当如何呢? 观察CAFFE_ROOT/examples/mnist/下的lenet_train_test.prototxt文件,发现里面既给出了训练集的路径,又给出了测试集的路径.因此答案很显然了,我们可以把自己的测试集做成leveldb(或lmdb)格式的,然后在lenet_train

Caffe︱构建lmdb数据集与各类文件路径名设置细解

Lmdb生成的过程简述 1.整理并约束尺寸,文件夹.图片放在不同的文件夹之下,注意图片的size需要规约到统一的格式,不然计算均值文件的时候会报错. 2.将内容生成列表放入txt文件中.两个txt文件,train训练文件.val测试文件. Train里面就是你的分类了. 3.形成LMDB数据集. 4.形成训练集的均值文件. 整理并规约.一般情况下整理用数据增强的功能,一般用opencv,这块笔者还没有探究,所以先不说. 一.图片列表生成 图片内容变成列表.这个办法很多,很多软件都可以用,pyth

7.caffe 数据预处理转换成lmdb格式 create_lmdb.sh

个人实践代码如下: #!/usr/bin/env sh # Create the imagenet lmdb inputs # N.B. set the path to the imagenet train + val data dirs set -e EXAMPLE=/home/wp/CAFFE/caffe-master/myself/00b DATA=/home/wp/CAFFE/caffe-master/myself/00b TOOLS=build/tools TRAIN_DATA_ROO

caffe 多标签 人脸对齐训练

1. 数据处理,包括数据增强.人脸区域裁剪以及归一化 2.caffe 多标签配置 更改D:\caffe-master\src\caffe\proto 里 caffe.proto 文件 message Datum { optional int32 channels = 1; optional int32 height = 2; optional int32 width = 3; // the actual image data, in bytes optional bytes data = 4;

Caffe 代码解析-convert_imageset

使用方法: convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME 其中 参数:ROOTFOLDER 表示输入的文件夹 参数:LISTFILE 表示输入文件列表,其每一行为:类似 subfolder1/file1.JPEG 7 可选参数:[FLAGS] 可以指示是否使用shuffle,颜色空间,编码等. 实现方法: 首先,将文件名与它对应的标签用 std::pair 存储起来,其中first存储文件名,second存储标签, 其次,数据通过 D

windows下配置caffe(环境:win7+vs2013+opencv3.0)

说明:大部分转载于initialneil的大作Caffe + vs2013 + OpenCV in Windows Tutorial (I) – Setup 准备工作: 1.下载CUDA7.5: https://developer.nvidia.com/cuda-downloads,安装完成后会自动创建变量CUDA_PATH_V7_5 2.下载boost1.56:http://sourceforge.net/projects/boost/files/boost-binaries/1.56.0/,