DeepLearning(基于caffe)实战项目(2)--mnist(image转lmdb)

mnist原始数据下载地址:http://download.csdn.net/detail/sihailongwang/9849435)

现在我们得到了mnist的初始数据,包括60000张训练图片和10000张测试图片,以及他们相应的标签,若要进行训练,则必须进行数据的转换。(由于对lmdb格式理解还不到位,以及还未深究leNet的输入层,所以暂时先借助example中的convert_mnist_data.cpp),等到进一步搞懂后,再做更新修改。

第一步,使用matlab,将图片等信息转换为二进制文件

clear;
clc;
close all;

for k = 1 : 60000
    num_train=num2str(k);     
    imagename_train=strcat(num_train,'.png');
    imagepathname_train=strcat('E:\Python\Caffe\examples\mnist\mnist-原数据\train_data\',imagename_train);
    image_buffer_train=imread(imagepathname_train);
    images_data_train((k-1)*28*28+1:k*28*28) = reshape(image_buffer_train(1:28,1:28),1,28*28);
end

index_data_train=csvread('train_label.csv');

% fid1=fopen('mnist_bin(imageTobin)\train_images.bin','wb');
% fid2=fopen('mnist_bin(imageTobin)\train_labels.bin','wb');
fid1=fopen('mnist_bin(imageTobin)\train-images.idx3-ubyte','wb');
fid2=fopen('mnist_bin(imageTobin)\train_labels.idx1-ubyte','wb');
fwrite(fid1,images_data_train','uint8');
fwrite(fid2,index_data_train,'uint8');


for j = 1 : 10000
    num_test=num2str(j);     
    imagename_test=strcat(num_test,'.png');
    imagepathname_test=strcat('E:\Python\Caffe\examples\mnist\mnist-原数据\train_data\',imagename_test);
    image_buffer_test=imread(imagepathname_test);
    images_data_test((j-1)*28*28+1:j*28*28) = reshape(image_buffer_test(1:28,1:28),1,28*28);
end

index_data_test=csvread('test_label.csv');

% fid3=fopen('mnist_bin(imageTobin)\test_images.bin','wb');
% fid4=fopen('mnist_bin(imageTobin)\test_labels.bin','wb');
fid3=fopen('mnist_bin(imageTobin)\test-images.idx3-ubyte','wb');
fid4=fopen('mnist_bin(imageTobin)\test_labels.idx1-ubyte','wb');
fwrite(fid3,images_data_test','uint8');
fwrite(fid4,index_data_test,'uint8');

第二步,使用cmd命令行,将二进制文件转换为lmdb文件

>>convert_mnist_data.exe ../../../examples/mnist/mnist-binary/mnist_bin/train-images.idx3-ubyte  ../../../examples/mnist/mnist-binary/mnist_bin/train-labels.idx1-ubyte ../../../examples/mnist/mnist-mdb/mnist_train_lmdb
>>convert_mnist_data.exe ../../../examples/mnist/mnist-binary/mnist_bin/test-images.idx3-ubyte  ../../../examples/mnist/mnist-binary/mnist_bin/test-labels.idx1-ubyte ../../../examples/mnist/mnist-mdb/mnist_test_lmdb

特别注意:
1.这里大部分错误是路径不对,所以一定要捋顺了你的文件以及所要保存的文件的路径
2.一定要保证你的mnist_train_lmdb和mnist_test_lmdb这两个文件夹是不存在的,否则就会报错:
 Check failed: _mkdir(source.c_str()) == 0 (-1 vs. 0) mkdir ../../../examples/mnist/mnist-mdb/mnist_test_lmdb failed*** Check failure stack trace: ***






  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值