深部张量流平均值

2024-10-01 02:26:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用向量序列作为tensorflow中NN的输入数据,我希望在输入深度上执行平均池

我尝试使用以下lambda层:

depth_pool = keras.layers.Lambda(
    lambda X: tf.nn.avg_pool1d(X,
                             ksize=(1, 1, 3),
                             strides=(1, 1, 3),
                             padding="VALID"))

但是,我收到了错误消息:

UnimplementedError: Non-spatial pooling is not yet supported.

有没有办法达到预期的效果

非常感谢你的帮助


Tags: 数据lambdalayerstftensorflow序列nn向量
1条回答
网友
1楼 · 发布于 2024-10-01 02:26:45

如果您的输入具有以下维度:(None, timestamps, features)您可以简单地用其他维度置换深度,应用标准池,然后置换回原始维度

举个例子。。。如果您的网络接受shape(None, 20, 99)的输入,您只需执行以下操作即可获得深度池:

inp = Input((20,99))
depth_pool = Permute((2,1))(inp)
depth_pool = AveragePooling1D(3)(depth_pool)
depth_pool = Permute((2,1))(depth_pool)

m = Model(inp, depth_pool)
m.summary()

摘要:

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_4 (InputLayer)         [(None, 20, 99)]          0         
_________________________________________________________________
permute_4 (Permute)          (None, 99, 20)            0         
_________________________________________________________________
average_pooling1d_3 (Average (None, 33, 20)            0         
_________________________________________________________________
permute_5 (Permute)          (None, 20, 33)            0         
=================================================================

输出具有形状(None, 20, 33)

如果您的输入具有以下维度:(None, features, timestamps),您只需在层中设置data_format='channels_first'

inp = Input((20,99))
depth_pool = AveragePooling1D(3, data_format='channels_first')(inp)

m = Model(inp, depth_pool)
m.summary()

摘要:

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_9 (InputLayer)         [(None, 20, 99)]          0         
_________________________________________________________________
average_pooling1d_7 (Average (None, 20, 33)            0         
=================================================================

输出具有形状(None, 20, 33)

相关问题 更多 >