我们都知道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里面的数据格式,
mnist.train.images[1]则代表这里面第一个784个数,也就是里面存放的第一个图片

mnist.train.labels[1] 则是对应的label


GitHub 加速计划 / te / tensorflow
184.55 K
74.12 K
下载
一个面向所有人的开源机器学习框架
最近提交(Master分支:2 个月前 )
a49e66f2 PiperOrigin-RevId: 663726708 2 个月前
91dac11a This test overrides disabled_backends, dropping the default value in the process. PiperOrigin-RevId: 663711155 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐