USPS数据集处理及下载方法

  • 最近在弄迁移学习模型,需要用到USPS数据集,这个数据集网上版本很多,我的是20000条28*28的USPS图片,这个应该是数量最多的一个版本。
  • 我是下载的mat文件,我想转化成么这种形式:
    USPS数据集处理及下载方法_第1张图片
    下面是转化代码:
from scipy.io import loadmat
import torch
from torchvision import transforms
from tqdm import tqdm
import os


m = loadmat("E:/transferlearning/data/usps/Usps.mat")
rootpath="E:/transferlearning/data/usps/"
print(m.keys())
print(type(m['feas']))
print(type(m['label']))

print(m['feas'][0].shape)
print(m['label'].shape)
toPIL = transforms.ToPILImage() #这个函数可以将张量转为PIL图片,由小数转为0-255之间的像素值
for index,img in tqdm(enumerate(m['feas'])):
    endPath=rootpath+str(m['label'][index])[1]
    if not os.path.exists(endPath):
        os.makedirs(endPath)
        
    img=m['feas'][index].reshape((28,28));
    img = torch.from_numpy(img)
    pic = toPIL(img)
    pic.save(endPath+'/'+str(len(os.listdir(endPath)))+'.jpg')

顺便分享一种方法:

import torch
from torchvision import transforms
 
toPIL = transforms.ToPILImage() #这个函数可以将张量转为PIL图片,由小数转为0-255之间的像素值
img = torch.randn(3,128,64)
pic = toPIL(img)
pic.save('random.jpg')

可以快速将小数tensor转化为图片保存。

  • 附上我处理的数据压缩包,大家可以前往下载。

你可能感兴趣的:(机器学习深度学习代码知识,人工智能,机器学习,深度学习)