大多数这些模型是一系列卷积层,后面跟着一个或几个密集(或完全连接)层。
Include_top
让您选择是否需要最终的致密层。
关于权重:
因此,删除最终的密集层允许您定义输入大小(请参阅文档)。 (输出大小将相应增加/减少)。
但是你失去了解释/分类层。 (您可以根据您的任务添加自己的)
有关池化和展平的额外信息
全球池:
在最后一个卷积层之后,您的输出仍然像图像一样。他们有形状(images, X, Y, channels)
, where X
and Y
是二维图像的空间维度。
当你的模型有GlobalMaxPooling2D
or GlobalAveragePooling2D
,它将消除空间维度。和Max
它将仅采用每个通道的最高值像素。和Average
它将取每个通道的平均值。结果将只是(images, channels)
,不再有空间维度。
- 优点:由于空间维度被丢弃,因此您可以拥有可变大小的图像
- 缺点:如果尺寸仍然很大,您会丢失大量数据。 (根据模型和数据,这可能没问题)
Flatten
扁平化后,空间维度不会丢失,但特征会发生变化。从(images, X, Y, channels)
to (images, X*Y*channels)
.
这将需要固定的输入形状,因为X
and Y
必须定义,如果添加Dense
压平后的层数,Dense
层将需要固定数量的特征。