tensorflow.examples.tutorials.mnist input_data中数据和标签的结构是什么

时间:2017-04-08 09:23:53

标签: tensorflow

我正在尝试学习如何在Tensorflow中正确地引入数据,并且大多数示例代码都使用from import tensorflow.examples.tutorials.mnist import input_data

当您可以使用它来访问mnist数据时很简单,但在尝试建立等效的结构方法并将非mnist数据引入类似模型时没有用。

通过mnist示例导入的数据的结构是什么,以便我可以使用示例cnn演练代码并操纵我的数据来镜像mnist数据的结构?

1 个答案:

答案 0 :(得分:2)

从该示例代码中获取的MNIST数据的格式取决于您初始化DataSet类的具体方式。调用DataSet.next_batch(batch_size)会返回两个NumPy数组,分别代表batch_size个图像和标签。它们具有以下格式。

  • 如果使用DataSet(默认值)初始化reshape=True,则图片数组为batch_size784矩阵,其中每行包含一个MNIST图像的像素。默认类型为tf.float32,值为0.01.0之间的像素强度。

  • 如果使用DataSet初始化reshape=False,则batch_size的{​​{1}} 28 28之后1 - 维张量。 28对应于每个图像的高度和宽度(以像素为单位); 1对应于图像中的通道数,这些通道是灰度级的,因此只有一个通道。

  • 如果使用DataSet(默认值)初始化one_hot=False,则labels数组是长度为batch_size的向量,其中每个值都是标签(整数)从09)表示相应图像中的数字。

  • 如果使用DataSet初始化one_hot=True,则标签数组为batch_size10矩阵,其中每一行都为零,除了列中的1,对应于相应图像的标签。

请注意,如果您对卷积网络感兴趣,可能会根据需要初始化DataSet reshape=False,因为这将保留卷积运算符将使用的图像的空间信息。