TensorFlow教程代码here介绍了如何加载MNIST图像。我根据自己的用法略微修改了它。
我的目标:绘制第一个MNIST训练图像并保存。
我正在使用远程系统,我无法让显示器工作,所以我只想保存图像而不先查看它。
这是我到目前为止所拥有的:
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
import argparse
import matplotlib
matplotlib.use('pdf')
import matplotlib.pyplot as plt
def get_data():
#Import data, return training data
mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True)
return mnist.train.images
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--data_dir', type=str, default="/tmp/mnist/data")
FLAGS, unparsed = parser.parse_known_args()
x_data = get_data()
#first training image is x_data[0], has shape (784,)
first_image = x_data[0]
first_image = np.array(first_image, dtype='float')
pixels= first_image.reshape((28,28))
mnist_fig = plt.figure()
plt.plot(pixels)
plt.imshow(pixels, cmap="gray")
savefig_val = "first_image"
mnist_fig.savefig(savefig_val+".pdf")
这是产生的图像:
问题:我很确定这应该是一个清晰可识别的数字,而事实并非如此。它也不应该在图像顶部有颜色。