问题
I just started working with Keras and noticed that there are two layers with very similar names for max pooling: MaxPool
and MaxPooling
. I was surprised that I couldn't find the difference between these two on Google; so I am wondering what the difference is between the two if any.
回答1:
they are the same. you can test it by your own
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
I used 1D max-pooling but the same is valid for all the pooling operation (2D, 3D, avg, global pooling)
回答2:
They are basically the same thing (i.e. aliases of each other). For future readers who might want to know how this could be determined: go to the documentation page of the layer (you can use the list here) and click on "View aliases". This is then accompanied by a blue plus sign (+).
For example, if you go to MaxPool2D
documentation and do this, you will find MaxPooling2D
in the list of aliases of this layer as follow:
来源:https://stackoverflow.com/questions/63006575/what-is-the-difference-between-maxpool-and-maxpooling-layers-in-keras