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的圖像,如圖所示