01_PyTorch model training [data download and generation]

1. Open http://www.cs.toronto.edu/~kriz/cifar.html URL

2. Download the compressed file

 3. Put the compressed package into the folder

 4. Unzip to get this folder

 5. Write code to generate data

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. Run the code

 

 7. Effect

 

 

Guess you like

Origin blog.csdn.net/zhang2362167998/article/details/128804592