您的位置:首页 > 运维架构 > Linux

Linux下利用Matlab对cifar10数据可视化

2017-09-13 11:00 465 查看
最近在学习caffe框架,很多人初识caffe都是在跑官方给的mnist、imagenet、cifar10实例,但这些数据集只能下载格式文件,其中cifar10数据集下载的官方网址:点击打开链接,下面是我使用matlab对.mat格式的图像数据进行可视化,希望对初学者有所帮助。

参考博文:点击打开链接

本文的caffe框架搭建在Ubuntu 16.04下,显卡为GeForce GTX 1050 Ti

cifar10数据集.mat格式下载

CIFAR-10 Matlab version

首先下载数据集,一般默认路径为/home/zm/下载(zm为我的用户名)

然后在你的caffe路径下新建文件夹存放数据和代码,将下载的cifar-10-matlab.tar.gz解压到该文件夹(该示例中新建文件夹zmpractice)。

解压命令:

tar zxvf cifar-10-matlab.tar.gz
得到文件夹:cifar-10-batches-mat,该文件夹有八个文件,具体可在参考博文查看,我们要做的是将data_batch_1.mat~data_batch_5.mat进行可视化。

Matlab代码如下:

for j=1:5,%读取训练集数据
%读入第j个batch的数据
load(['/caffe/examples/zmpractice/cifar-10-batches-mat/data_batch_' num2str(j) '.mat'])
for i=1:size(data,1),%循环转化并写入文件
p=data(i,:);
label=labels(i);

fig=zeros(32,32,3);
fig(:,:,1)=reshape(p(1:1024),32,32)';
fig(:,:,2)=reshape(p(1025:2048),32,32)';
fig(:,:,3)=reshape(p(2049:end),32,32)';

%将数据保存为PNG格式
imwrite(fig/256,['image/batch_' num2str(j) '_label_' num2str(label) '_' num2str(i)  '.png'])
end;
end;
          标红的地方要注意你的路径,如果遇到Unable to open file "image/batch_×_label_×_×.png" for writing.  You may not have write permission.出现该问题是因为找不到image文件夹,可视化的图像无法写入。
         蓝色字体可能会不一样,但解决办法都相同。就是在上级文件夹(我的上级文件夹为:zmpractice)中新建image文件夹,可视化后的图像将全部显示在image文件夹中,由于数据量非常大,代码完运行需要时间,请耐心等待。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: