cifar數據庫及圖像可視化

1、下載cifar10(cifar100)數據庫

https://www.cs.toronto.edu/~kriz/cifar.html
這裏使用的是matlab版本:
這裏寫圖片描述

2、matlab版本的cifar數據庫

這裏以cifar10爲例:
下載的數據庫可以看到是有若干個batch.mat文件的:
這裏寫圖片描述

  • 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的圖像,如圖所示
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章