TFLearn - 什么是input_data

时间:2018-01-28 02:55:40

标签: python tensorflow machine-learning deep-learning tflearn

我发现了以下声明:

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

我尝试寻找描述,但无法找到明确的解释。

我的主要问题是input_data主要在做什么?它是否像我们输入数据的占位符一样?

关于形状,开头是None,最后是1

感谢。

2 个答案:

答案 0 :(得分:3)

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

如果mnist数据集为全RGB颜色,则输入数据的形状为(无,28,28,3) 通常您可以将其视为 batch_size

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

希望它能解决问题。

干杯,
加布里埃尔

答案 1 :(得分:1)

De Santa的回答是正确的:input_data是输入要素的占位符。你提到的数组首先是None(总是),然后是IMG的宽度和高度(似乎图像是宽度=高度的平方)和通道(在这种情况下是1;例如:在RGB情况下你会得到3个通道)。通过这种方式,网络可以了解输入要素的尺寸。