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.
Asked
Active
Viewed 3,953 times
13
![](../../users/profiles/10375049.webp)
Marco Cerliani
- 14,870
- 3
- 25
- 35
![](../../users/profiles/11502399.webp)
Ken
- 459
- 7
- 15
2 Answers
12
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:
11
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)
![](../../users/profiles/10375049.webp)
Marco Cerliani
- 14,870
- 3
- 25
- 35