【问题标题】:Is it possible to implement a max pooling layer in Keras which provides the maximum n values from a given pool size?是否可以在 Keras 中实现最大池化层,以提供给定池大小的最大 n 值?
【发布时间】:2018-08-08 21:52:55
【问题描述】:

我有一个多维时间序列数据集,它具有以下形状 (n_samples, 512, 9),其中 512 是时间步长,9 是通道。

在具有 64 个内核的第一个 1D CNN 层之后,我的输出形状是 (n_samples, 512, 64)。现在我想将我的输入输入到下一层,这是一个 LSTM,形状为 (n_samples, 384, 64)。

如果我有一个 Maxpool 层可以从 4 的池大小返回最大 3 个值,但可以在 Keras 中实现这一点吗?

【问题讨论】:

    标签: python tensorflow machine-learning keras deep-learning


    【解决方案1】:

    您可以使用keras.layers.Lambda 层和tf.nn.in_top_k 的后端来解决这个问题。请注意,handling is somewhat different 来自 tf.nn.top_k,因为如果所有值都具有相同的值,则它不会合并!

    现在您可以为自己定义一个返回顶部 k 值的函数(并且这样做 有点效率),然后将其作为函数传递给 lambda 层。

    遗憾的是,我与 Keras 合作的时间还不够多,无法输入具体的代码,但也许这足以为您指明正确的方向。 此外,还有一个类似的线程for TensorFlow specifically

    【讨论】:

      猜你喜欢
      • 2022-10-30
      • 2021-10-03
      • 2013-05-31
      • 2017-06-16
      • 2017-12-02
      • 1970-01-01
      • 2022-01-05
      • 2011-08-13
      • 1970-01-01
      相关资源
      最近更新 更多