我知道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)
是一个有效值”-https://keras.io/applications/#inceptionv3
这怎么可能?为什么如果include_top
是false
,它只能具有自定义的input_shape?
最佳答案
这是可能的,因为模型是完全卷积的。卷积并不关心图像的大小,它们是“滑动滤镜”。如果图像较大,则输出较大,图像较小,则输出较小。 (不过,这些过滤器具有由kernel_size
以及输入和输出过滤器定义的固定大小)
使用include_top
时无法执行此操作,因为此模型可能使用的是Flatten()
层,最后使用Dense
层。 Dense
层需要固定的输入大小(根据图像大小展平),否则将无法创建可训练的权重(具有可变数量的权重是没有意义的)
关于python - Keras中的Inception V3的自定义input_shape如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54522336/