数据基本分析
import pickle
import os
import matplotlib.pyplot as plt
CIFAR_DIR = "../datas/cifar-10-batches-py"
print(os.listdir(CIFAR_DIR))
with open(os.path.join(CIFAR_DIR, "data_batch_1"), 'rb') as f:
data = pickle.load(f, encoding='bytes')
print(type(data))
print(data.keys())
print(type(data[b'data']))
print(type(data[b'labels']))
print(type(data[b'batch_label']))
print(type(data[b'filenames']))
print(data[b'data'].shape)
print(data[b'data'][0:2])
print(data[b'labels'][0:2])
print(data[b'batch_label'])
print(data[b'filenames'][0:2])
image_arr = data[b'data'][210]
image_arr = image_arr.reshape((3, 32, 32)) # 32 32 3
image_arr = image_arr.transpose((1, 2, 0))
plt.imshow(
image_arr,
cmap='Greys',
interpolation='nearest')
plt.show()
['batches.meta', 'data_batch_1', 'data_batch_2', 'data_batch_3', 'data_batch_4', 'data_batch_5', 'readme.html', 'test_batch']
<class 'dict'>
dict_keys([b'batch_label', b'labels', b'data', b'filenames'])
<class 'numpy.ndarray'>
<class 'list'>
<class 'bytes'>
<class 'list'>
(10000, 3072)
[[ 59 43 50 ... 140 84 72]
[154 126 105 ... 139 142 144]]
[6, 9]
b'training batch 1 of 5'
[b'leptodactylus_pentadactylus_s_000004.png', b'camion_s_000148.png']