Understanding Pooling function in MXNet

Wanted to get clarity on my understanding of Pooling operator in MXNet (and not get confused with terms used in other frameworks)

Here, same is the operator that’s currently not supported by MXNet (I am working on the same “type of padding” / pooling convention (in MXNet lingo) and it follows the exact concept as the one used in Tensorflow)

In Tensorflow, padding happens with 0. While in MXNet, it is initialized to negative infinity (minimum possible supported value)


Input width = 7

Filter/Kernel width = 2

(Stride, Pad and Pooling convention are changed)

Output widths are calculated as follows:

Full : ceil(float(input_width + 2 * pad - filter_width + 1) / float(stride))

Valid : floor(float(input_width + 2 * pad - filter_width + 1) / float(stride))

Same : ceil(float(input_width + 2 * pad) / float(stride))

Sorry @ChaiBapchya, what is your question exactly?

Yup, so I wanted to verify if the above table correctly reflects the way padding should happen in mxnet