从cifar-10数据集加载图像

Jay*_*nth 8 python numpy deep-learning

我正在使用cifar-10数据集来训练我的分类器.我已下载数据集并尝试显示数据集中的图像.我使用了以下代码:

from six.moves import cPickle as pickle
from  PIL import Image
import numpy as np

f = open('/home/jayanth/udacity/cifar-10-batches-py/data_batch_1', 'rb')

tupled_data= pickle.load(f, encoding='bytes')

f.close()

img = tupled_data[b'data']

single_img = np.array(img[5])

single_img_reshaped = single_img.reshape(32,32,3)

plt.imshow(single_img_reshaped)
Run Code Online (Sandbox Code Playgroud)

数据描述如下:每个数组存储一个32x32彩色图像.前1024个条目包含红色通道值,下一个1024表示绿色,最后1024个表示蓝色.图像以行主顺序存储,因此数组的前32个条目是图像第一行的红色通道值.

我的实施是否正确?

上面的代码给了我以下图片: 在此输入图像描述

Tho*_*etz 13

我用了

single_img_reshaped = np.transpose(np.reshape(single_img,(3, 32,32)), (1,2,0))
Run Code Online (Sandbox Code Playgroud)

在我的程序中获得正确的格式.