Keras 如果我们需要更改输入形状,为什么需要包含_top=False?

Keras 如果我们需要更改输入形状,为什么需要包含_top=False?,keras,keras-layer,Keras,Keras Layer,据我所知,输入元组是从卷积块进入的。 因此,如果我们想改变输入元组的形状,修改卷积是有意义的。 为什么我们需要包含_top=False并在末尾删除完全连接的层 另一方面,如果我们有不同数量的类,Keras可以选择使用无类更改softmax层 我知道我是在这里错过了什么。请帮帮我 示例:对于Inception Resnet V2 input_shape:可选形状元组,仅在包含_top时指定 为False(否则输入形状必须为(299299,3)(带 “channels\u last”数据格式)或(3

据我所知,输入元组是从卷积块进入的。 因此,如果我们想改变输入元组的形状,修改卷积是有意义的。 为什么我们需要包含_top=False并在末尾删除完全连接的层

另一方面,如果我们有不同数量的类,Keras可以选择使用无类更改softmax层

我知道我是在这里错过了什么。请帮帮我

示例:对于Inception Resnet V2

input_shape:可选形状元组,仅在包含_top时指定 为False(否则输入形状必须为(299299,3)(带 “channels\u last”数据格式)或(3299299)(带有“channels\u first” 数据格式)。它应该正好有3个输入通道,以及宽度和宽度 高度不应小于139。例如,(150,150,3)应为1 有效值

include_top:是否在顶部包含完全连接的层 网络的一部分


这仅仅是因为端部完全连接的层只能接受固定大小的输入,这已经由输入形状和卷积层中的所有处理定义。对输入形状的任何更改都将改变输入到完全连接层的形状,使权重不兼容(矩阵大小不匹配,无法应用)


这是完全连接层的一个特定问题。如果您使用另一层进行分类,如全局平均池,则不会出现此问题。

ohhh..非常感谢