TFLearn - 什么是 input_data

TFLearn - What is input_data

我遇到了以下语句:

convnet = input_data(shape=[None,img_size,img_size,1], name='input')

我试图寻找描述,但找不到明确的解释。

我的主要问题是函数input_data主要做什么?它就像是我们输入数据的占位符吗?

关于形状,什么是开头None,结尾1

谢谢。

De Santa 回答正确:input_data 是输入特征的占位符。你提到的数组首先持有 None (总是),然后是 IMG 宽度和高度(似乎图像是平方的,因为宽度 = 高度)和通道(在这种情况下是 1;例如:如果是 RGB,你会得到3 个通道)。这样网络就可以知道输入特征的维度。

input_data 是一个 ,将用作网络的输入层。在顺序模型中添加任何常用层之前,您需要指定输入的外观。例如,在 mnist 数据集中,您有 784 数组表示 28x28 图像。
在您的示例中,网络需要形状为 (None, img_size,img_size,1] 的输入,用人类语言表示:
None -
的许多或多个或多少图像 img_size X img_size - 图像尺寸
1 - 一个颜色通道

如果 mnist 数据集为全 RGB 颜色,则输入数据的形状为 (None, 28, 28, 3) 通常 None 你可以认为是 batch_size.

更明确地说,如果您的 batch_size 为 1,那么在我们的 mnist RGB 示例中,您需要三个 28x28 矩阵作为输入,一个代表图像的 R 像素,另一个代表 G 像素,最后一个代表图像的 B 像素。这只是一个条目。在这种情况下,None 值将是 1,但通常它是您决定 batch_size 的值。你从这里得到图片。

希望它能解决问题。

干杯,
加布里埃尔