python下mnist数据集转化为图片

环境:tensorflow

代码如下

from tensorflow.examples.tutorials.mnist import input_data
from scipy import misc
import numpy as np
import os

mnist = input_data.read_data_sets('MNIST_data/',one_hot=True)

result_path ='mnist_data\\train'

def onehot2id(labels):
    return list(labels).index(1)

if not os.path.exists(result_path):
    os.mkdir(result_path)

labels_txt = open('train_labs.txt','w')
for i in range(len(mnist.train.images)):
    img_vec = mnist.train.images[i,:]
    img_arr = np.reshape(img_vec,[28,28])
    img_lab = mnist.train.labels[i,:]
    img_id = onehot2id(img_lab)
    labels_txt.write(str(i)+'    '+str(img_id)+'\n')
    img_path = os.path.join(result_path,str(i)+'.png')
    misc.imsave(img_path,img_arr)

以上代码以训练集为例,将图片的vector转化为28*28的png图片,同时保存每一张图片对应的label(label由onehot转成数字)到TXT文本中。 以下是我的网盘链接:https://pan.baidu.com/s/1pV8KuKbDy9yktpREk5ZDvw 提取码:wac5