【问题标题】:What is the difference between MaxPool and MaxPooling layers in Keras?Keras 中的 MaxPool 和 MaxPooling 层有什么区别?
【发布时间】:2020-11-10 08:45:40
【问题描述】:

我刚开始使用,注意到有两个层的最大池名称非常相似:MaxPoolMaxPooling。我很惊讶我在谷歌上找不到这两者之间的区别。所以我想知道两者之间有什么区别。

【问题讨论】:

    标签: keras tensorflow machine-learning keras deep-learning tf.keras


    【解决方案1】:

    它们基本上是相同的东西(即彼此的别名)。对于可能想知道如何确定这一点的未来读者:转到该层的文档页面(您可以使用列表here)并单击“查看别名”。然后伴随着一个蓝色加号 (+)。

    例如,如果你去MaxPool2Ddocumentation并这样做,你会在该层的别名列表中找到MaxPooling2D,如下所示:

    【讨论】:

      【解决方案2】:

      它们是一样的……你可以自己测试一下

      import numpy as np
      import tensorflow as tf
      from tensorflow.keras.layers import *
      
      # create dummy data
      X = np.random.uniform(0,1, (32,5,3)).astype(np.float32)
      
      pool1 = MaxPool1D()(X)
      pool2 = MaxPooling1D()(X)
      
      tf.reduce_all(pool1 == pool2) # True
      

      我使用了1D max-pooling,但同样适用于所有池化操作(2D、3D、avg、全局池化)

      【讨论】:

        【解决方案3】:

        它们是一样的。该库更新了很多次,这就是为什么有些函数名称不同但任务相同的原因。你可以使用它们中的任何一个。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-08-09
          • 1970-01-01
          • 2010-09-12
          • 1970-01-01
          • 1970-01-01
          • 2020-03-16
          • 1970-01-01
          • 2017-12-23
          相关资源
          最近更新 更多