1.打开http://www.cs.toronto.edu/~kriz/cifar.html 网址
2.下载压缩文件
3.将压缩包放入文件夹
4.解压得到这个文件夹
5.编写代码生成数据
import os
base_dir = "E:/pytorch_learning" #修改为当前Data 目录所在的绝对路径
data_dir = os.path.join(base_dir, "Data", "cifar-10-batches-py")
train_o_dir = os.path.join( base_dir, "Data", "cifar-10-png", "raw_train")
test_o_dir = os.path.join( base_dir, "Data", "cifar-10-png", "raw_test")
#测试集路径
test_data_path = os.path.join(data_dir, "test_batch")
Train = False # 不解压训练集,仅解压测试集
print(base_dir)
print(data_dir)
print(train_o_dir)
print(test_o_dir)
print(test_data_path)
import pickle
# 解压缩,返回解压后的字典
def unpickle(file):
with open(file, 'rb') as fo:
dict_ = pickle.load(fo, encoding='bytes')
return dict_
#递归创建目录
def my_mkdir(my_dir):
#不存在目录就创建
if not os.path.isdir(my_dir):
os.makedirs(my_dir)
#生成测试集图片字典
test_data = unpickle(test_data_path)
print("数据量: "+str(test_data[b'data'].shape[0]))
#读取测试图像
import numpy as np
from imageio import imwrite
for i in range(0, 10000):
img = np.reshape(test_data[b'data'][i], (3, 32, 32))
img = img.transpose(1, 2, 0)
label_num = str(test_data[b'labels'][i])
o_dir = os.path.join(test_o_dir, label_num)
my_mkdir(o_dir) #在test_o_dir目录下,生成了0-9 10个文件夹
img_name = label_num + '_' + str(i) + '.png'
img_path = os.path.join(o_dir, img_name)
imwrite(img_path, img)
print("test_batch loaded.")
6.运行代码
7.效果