感想:网上查了一圈,准备想转换为图片,发现写的是什么玩意,保存图片都不是按照类别保存的,现在我详细说明一下。
下面解压后除了train全部是下载后解压的。最后保存在train文件夹下面
import os
# from scipy.misc import imsave
from imageio import imsave
def unpickle(file):
import pickle
with open(file, 'rb') as fo:
dict = pickle.load(fo, encoding='bytes')
return dict
filename = 'D:/cifar-10-python/cifar-10-batches-py-img/' #图片的路径
meta = unpickle(filename + '/batches.meta')
label_name = meta[b'label_names']
for i in range(len(label_name)):
file = label_name[i].decode()
path = 'D:/cifar-10-python/cifar-10-batches-py-img/train/' + file
isExist = os.path.exists(path)
if not isExist:
os.makedirs(path)
for i in range(1, 6):
content = unpickle(filename + '/data_batch_' + str(i)) #解压后的每个data_batch_
print('load data...')
print(content.keys())
print('tranfering data_batch' + str(i))
for j in range(10000):
img = content[b'data'][j]
img = img.reshape(3, 32, 32)
img = img.transpose(1, 2, 0)
img_name = 'D:/cifar-10-python/cifar-10-batches-py-img/train/' + label_name[content[b'labels'][j]].decode() + '/batch_' + str(i) + '_num_' + str(
j) + '.jpg'
imsave(img_name, img)
最后结果: