我发现了以下声明:
convnet = input_data(shape=[None,img_size,img_size,1], name='input')
我尝试寻找描述,但无法找到明确的解释。
我的主要问题是input_data
主要在做什么?它是否像我们输入数据的占位符一样?
关于形状,开头是None
,最后是1
?
感谢。
答案 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个通道)。通过这种方式,网络可以了解输入要素的尺寸。