python将cifar-10二进制数据集转成jpg

    技术2022-07-10  128

    注意

    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)

    结果

    Processed: 0.013, SQL: 9