本文介绍了pytorch把MNIST数据集转换成图片和txt的方法,分享给大家,具体如下:
1。下载Mnist数据集
进口操作系统 #第三方库 进口火炬 进口火炬。神经网络是神经网络 从火炬。autograd导入变量 进口torch.utils。数据的数据 进口torchvision 进口matplotlib。pyplot作为plt # torch.manual_seed(1) #可再生的 DOWNLOAD_MNIST=False # Mnist数字数据集 如果不是(os.path.exists ('。/mnist/'))或不os.listdir (“。/mnist/?: #不mnist dir或mnist empyt dir DOWNLOAD_MNIST=True train_data=https://www.yisu.com/zixun/torchvision.datasets.MNIST ( 根='。/mnist/', 火车=True, #这是训练数据 变换=torchvision.transforms.ToTensor(), #将公益诉讼。图像或numpy。ndarray来 #火炬。FloatTensor变形(W C H x)和规范化的范围[0.0,1.0] 下载=DOWNLOAD_MNIST, ) >之前下载下来的其实可以直接用了,但是我们这边想把它们转换成图片和txt,这样好看些,为后面用自己的图片和txt作为准备
2。保存为图片和txt
进口操作系统 从skimage进口io 进口torchvision.datasets。mnist作为mnist 进口numpy 根="/mnist/生/? train_set=( mnist.read_image_file (os.path。加入(根,train-images-idx3-ubyte)), mnist.read_label_file (os.path。加入(根,train-labels-idx1-ubyte)) ) test_set=( mnist.read_image_file (os.path.join(根,t10k-images-idx3-ubyte)), mnist.read_label_file (os.path.join(根,t10k-labels-idx1-ubyte)) ) 打印(“训练集:“,train_set [0] .size ()) 打印(测试集:“test_set [0] .size ()) def convert_to_img(火车=True): 如果(火车): f=(根+开放的火车。txt”、“w”) data_path=根+/火车/? 如果(不是os.path.exists (data_path)): os.makedirs (data_path) 我,(img标签)列举(zip (train_set [0], train_set [1])): img_path=data_path + str (i) +“jpg” io。imsave (img_path img.numpy ()) int_label=str(标签)。替换(张量(“,”) int_label=int_label.replace (‘)’,”) f。写(img_path +‘+ str (int_label) + ' \ n ') f.close () 其他: f=开放(根+”测试。txt”、“w”) data_path=根+/测试/? 如果(不是os.path.exists (data_path)): os.makedirs (data_path) 我,(img标签)列举(zip (test_set [0], test_set [1])): img_path=data_path + str (i) +“jpg” io。imsave (img_path img.numpy ()) int_label=str(标签)。替换(张量(“,”) int_label=int_label.replace (‘)’,”) f。写(img_path +‘+ str (int_label) + ' \ n ') f.close () convert_to_img(真正的) convert_to_img (False)以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
pytorch把MNIST数据集转换成图片和txt的方法