数组中的全局平均池

问题描述 投票:1回答:1

我正在使用Keras的InceptionV3模型来提取特征。让我们说我有1000张图片,我得到了最后一层形状(1000, 8, 8, 2048)。哪个来自数据大小的1000和来自最后卷积层的(8, 8, 2048)。如何实施全球平均合并?我期待形状是(1000, 1, 1, 2048)

python numpy keras scikit-image keras-layer
1个回答
3
投票

使用GlobalAveragePooling2D进行平均池化或使用GlobalMaxPooling2D进行最大池化:

model = Sequential()
model.add(InputLayer(input_shape=(8, 8, 2048)))
model.add(GlobalAveragePooling2D())
model.summary()

它将全局特征映射到一个值,因此输出形状为(batch_size, 2048)

Layer (type)                 Output Shape              Param #   
=================================================================
input_1 (InputLayer)         (None, 8, 8, 2048)        0         
_________________________________________________________________
global_average_pooling2d_1 ( (None, 2048)              0         
=================================================================

如果你想输出特定的4级张量,只需应用K.expand_dims将其扩展为(batch_size, 1, 1, 2048)

© www.soinside.com 2019 - 2024. All rights reserved.