cifar数据库及图像可视化

1、下载cifar10(cifar100)数据库

https://www.cs.toronto.edu/~kriz/cifar.html
这里使用的是matlab版本:
这里写图片描述

2、matlab版本的cifar数据库

这里以cifar10为例:
下载的数据库可以看到是有若干个batch.mat文件的:
cifar数据库及图像可视化_第1张图片

  • data_batch_x.mat是训练数据。matlab命令行中输入命令:load('data_batch_1.mat')可以在工作区中得到以下数据:
    这里写图片描述
    其中,data是一个大小为10000*3072的矩阵,其中每一行代表一张训练样本,每张图片大小为32*32*3,因此有3072列。labels对应了每个样本的标签。
  • test_batch.mat是测试数据,载入到工作区后可以得到类似的结果。

3、图像可视化

对于每个batch进行可视化操作,代码如下:

for j=1:5,%读取训练集数据
    %读入第j个batch的数据
    load(['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)  '.jpg'])%也可以使用png格式等
    end;
end;

全部I/O后可以得到cifar的图像,如图所示
cifar数据库及图像可视化_第2张图片

你可能感兴趣的:(Matlab)