注意
1.首先需要下载cifar10数据到本地cifar(下载python version)
2. 不知道为什么scipy.mise加载不出imsave,所以我换了一种方式
3. 使用代码的时候注意修改路径(/data2/ZYM/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 = 'cifar-10-batches-py'
meta = unpickle(filename+'/batches.meta')
label_name = meta[b'label_names']
for i in range(len(label_name)):
file = label_name[i].decode()
path = '/data2/ZYM/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))
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 = '/data2/ZYM/rain/'+label_name[content[b'labels'][j]].decode() + '/batch_' + str(i) + '_num_' + str(j) +'.jpg'
imsave(img_name,img)