我知道Inception V3的input_shape(299,299,3)。但是在Keras中,如果input_shapeinclude_top,则可以构造具有自定义False的Inception V3版本。


  “ input_shape:可选形状元组,仅在include_topFalse时指定(否则,输入形状必须为(299, 299, 3)(具有'channels_last'数据格式)或(3, 299, 299)(具有'channels_first'数据格式) 。它应该恰好具有3个输入通道,并且宽度和高度应不小于75。例如(150, 150, 3)是一个有效值”-https://keras.io/applications/#inceptionv3


这怎么可能?为什么如果include_topfalse,它只能具有自定义的input_shape?

最佳答案

这是可能的,因为模型是完全卷积的。卷积并不关心图像的大小,它们是“滑动滤镜”。如果图像较大,则输出较大,图像较小,则输出较小。 (不过,这些过滤器具有由kernel_size以及输入和输出过滤器定义的固定大小)

使用include_top时无法执行此操作,因为此模型可能使用的是Flatten()层,最后使用Dense层。 Dense层需要固定的输入大小(根据图像大小展平),否则将无法创建可训练的权重(具有可变数量的权重是没有意义的)

关于python - Keras中的Inception V3的自定义input_shape如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54522336/

10-12 22:37