我知道Inception V3的input_shape
是(299,299,3)
。但是在Keras中,如果input_shape
是include_top
,则可以构造具有自定义False
的Inception V3版本。
“ input_shape:可选的形状元组,仅在
include_top
为False
(否则,输入形状必须为(299, 299, 3)
(采用'channels_last'
数据格式)时指定(3, 299, 299)
(具有'channels_first'
数据格式)。它应具有3个输入通道,宽度和高度不小于75。例如,(150, 150, 3)
将是一个有效值”-{{ 3}}
这怎么可能?为什么如果include_top
是false
,它只能具有自定义的input_shape?
答案 0 :(得分:0)
这是可能的,因为模型是完全卷积的。卷积并不关心图像的大小,它们是“滑动滤镜”。如果图像较大,则输出较大;如果图像较小,则输出较小。 (不过,过滤器的大小由kernel_size
以及输入和输出过滤器定义)
使用include_top
时不能这样做,因为该模型可能使用的是Flatten()
层,最后是Dense
层。 Dense
层需要固定的输入大小(根据图像大小进行展平),否则将无法创建可训练的权重(具有可变数量的权重没有意义)