TFLearn - 什么是input_data?

4
我看到了以下声明:
convnet = input_data(shape=[None,img_size,img_size,1], name='input')

我试图寻找一个描述,但没有找到清晰的解释。

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

关于形状,开头的None和结尾的1是什么意思?

谢谢。


input_data 允许您为输入特征创建一个结构。请看:https://blog.thedataincubator.com/2017/09/the-apis-for-neural-networks-in-tensorflow/ - Sivaprasanna Sethuraman
2个回答

7
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

更明确地说,如果批量大小为1,则在我们的mnist RGB示例中,您需要三个28x28矩阵作为输入,一个表示R像素,另一个表示G像素,最后一个表示B像素。这只是一个条目。在这种情况下,None值将为1,但通常它是您决定批处理大小的任何值。从这里你可以看出来。

希望这清楚了一些问题。

问候,
加布里埃尔


非常感谢,解释得非常好。 - Simplicity

2

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接