sxjscience commented on a change in pull request #10000: [MXNET-80] Fix average 
pooling kernel size assignment error
URL: https://github.com/apache/incubator-mxnet/pull/10000#discussion_r174552493
 
 

 ##########
 File path: src/operator/nn/pooling.cc
 ##########
 @@ -130,35 +153,30 @@ static bool PoolingShape(const nnvm::NodeAttrs &attrs,
   } else if (param.kernel.ndim() == 2) {
     CHECK_EQ(dshape.ndim(), 4U)
         << "Pooling: Input data should be 4D in (batch, channel, y, x)";
-    if (param.global_pool) {
-      oshape[2] = 1;
-      oshape[3] = 1;
+    CHECK(param.kernel[0] <= dshape[2] + 2 * param.pad[0])
+        << "kernel size (" << param.kernel[0] << ") exceeds input ("
+        << dshape[2] << " padded to " << (dshape[2] + 2 * param.pad[0])
+        << ")";
+    CHECK(param.kernel[1] <= dshape[3] + 2 * param.pad[1])
+        << "kernel size (" << param.kernel[1] << ") exceeds input ("
+        << dshape[3] << " padded to " << (dshape[3] + 2 * param.pad[1])
+        << ")";
+    if (param.pooling_convention == pool_enum::kValid) {
+      oshape[2] = 1 +
+                  (dshape[2] + 2 * param.pad[0] - param.kernel[0]) /
+                      param.stride[0];
+      oshape[3] = 1 +
+                  (dshape[3] + 2 * param.pad[1] - param.kernel[1]) /
+                      param.stride[1];
     } else {
 
 Review comment:
   Ignore this comment. I've misinterpreted the code.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to