我们都知道tensorflow自带的mnist库,那么这个库里面的文件是以什么形式保存的呢?我们该怎么把mnist里面数据转化成图像呢?首先看mnist数据格式
- from tensorflow.examples.tutorials.mnist import input_data
- mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
- print mnist.train.images.shape
- print mnist.train.labels.shape
- print mnist.validation.images.shape
- print mnist.validation.labels.shape
- print mnist.test.images.shape
- print mnist.test.labels.shape
上面这写代码可以看出mnist主要由三个文件,train val 和test文件,以及对应的label
train.images.shap得出784,这意味着mnist.train.image里面保存着784个数字,这784个数字就是我们的mnist手写图像。我们该怎么把这些数字转化成能看见的图像?
- import matplotlib.pyplot as plt
- from tensorflow.examples.tutorials.mnist import input_data
- import tensorflow as tf
- import numpy as np
- mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
- #data_trainsform这个函数是将数字转化成可视化的图像
- def data_trainsform(a): #将784转换成28*28的矩阵
- b = np.zeros([28, 28]) #定义一个简单的28X28矩阵
- for i in range(0,27):
- for j in range(0,27):
- b[i][j] = a[28*i+j]
- return b
- tile = data_trainsform(mnist.train.images[1])
- print mnist.train.labels[1]
- plt.figure()
- plt.imshow(tile)
- plt.show()
- print mnist.train.images.shape
- print mnist.train.labels.shape
- print mnist.validation.images.shape
- print mnist.validation.labels.shape
- print mnist.test.images.shape
- print mnist.test.labels.shape
mnist.train.images[1]则代表这里面第一个784个数,也就是里面存放的第一个图片
mnist.train.labels[1] 则是对应的label