Keras 中的 MaxPool 和 MaxPooling 层有啥区别?
Posted
技术标签:
【中文标题】Keras 中的 MaxPool 和 MaxPooling 层有啥区别?【英文标题】:What is the difference between MaxPool and MaxPooling layers in Keras?Keras 中的 MaxPool 和 MaxPooling 层有什么区别? 【发布时间】:2020-11-10 08:45:40 【问题描述】:我刚开始使用keras,注意到有两个层的最大池名称非常相似:MaxPool
和MaxPooling
。我很惊讶我在谷歌上找不到这两者之间的区别。所以我想知道两者之间有什么区别。
【问题讨论】:
【参考方案1】:它们基本上是相同的东西(即彼此的别名)。对于可能想知道如何确定这一点的未来读者:转到该层的文档页面(您可以使用列表here)并单击“查看别名”。然后伴随着一个蓝色加号 (+)。
例如,如果你去MaxPool2D
documentation并这样做,你会在该层的别名列表中找到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】:它们是一样的。该库更新了很多次,这就是为什么有些函数名称不同但任务相同的原因。你可以使用它们中的任何一个。
【讨论】:
以上是关于Keras 中的 MaxPool 和 MaxPooling 层有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 中运行 keras 模型时出现 ValueError
Pytorch 中的 MaxPool 的 ceil_mode参数
pytorch 池化层——最大值池化nn.MaxPool2d() nn.MaxPool1d()
卷积神经网络中nn.Conv2d()和nn.MaxPool2d()以及卷积神经网络实现minist数据集分类
Default MaxPoolingOp only support NHWC on device type CPU [[node maxpool4/MaxPool]] 是啥意思?