import pickle
def unpickle(file): # 打开cifar-10文件的其中一个batch(一共5个batch)
with open("E:/1.5/network test/data/cifar-10-batches-py/"+file, 'rb') as fo:
dict = pickle.load(fo, encoding='bytes')
return dict
data_batch=unpickle("data_batch_1") # 打开cifar-10文件的data_batch_1
cifar_data=data_batch[b'data'] # 这里每个字典键的前面都要加上b
cifar_label=data_batch[b'labels']
label_name=['airplane','automobile','brid','cat','deer','dog','frog','horse','ship','truck']
def change_images(k):#k的值可以选择1-10000范围内的值
for i in range(k):
image=cifar_data[i]
image=image.reshape(-1,1024)
image = image[[2, 1, 0]]
cifar_data[i] = image.reshape(3072)
print("%d张图片转换完毕"%k)
if __name__ == '__main__':
change_images(10000)
fw = open("data_batch_1", "wb")
pickle.dump(data_batch, fw)