I would like to do some tests to know the run time of well-known CNN networks these days. I had successfully got the result of 'alexnet', 'vgg' without errors. However, something went wrong while I replaced the network to be 'googlenet'. The error message is shown below:
Check failed: param_.kernel[0] <= dshape[2] + 2 * param_.pad[0] && param_.kernel[1] <= dshape[3] + 2 * param_.pad[1] kernel size exceed input
The network definition I used is the same as symbol_googlenet.py.
Is there any solution?
check those layers which kernel size is large than feature map and replace them with global pooling.
I met the similar problem:
mxnet.base.MXNetError: InferShape Error in pool5_7x7_s1: [01:42:05] src/operator/./pooling-inl.h:199: Check failed: param_.kernel[0] <= dshape[2] + 2 * param_.pad[0] && param_.kernel[1] <= dshape[3] + 2 * param_.pad[1] kernel size exceed input.
I use the latest mxnet code (9ee093c) to convert the GoogLeNet model. The pre-trained model parameter and deploy files are provided here (I've changed the data input layer with the old style, otherwise an error will occured).
But, I can convert the model with older version of mxnet (9053470) ...
The pooling size calculation changed backward-incompatibly in https://github.com/dmlc/mxnet/commit/5532511e1c9411494d1891cd0ae1e37993543daf#diff-dc8b8aecf2445ae77fd08689110d92b2L190 without any comment about why. That could well have introduced a bug. @antinucleon can you comment?
@taliesinb: The pooling shape inference was changed to be the same as convolution. This is now the same as most frameworks, other than Caffe. This change makes MXNet inconsistent with Caffe for certain models with strided pooling layers, like Googlenet.
This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!
Most helpful comment
I met the similar problem:
mxnet.base.MXNetError: InferShape Error in pool5_7x7_s1: [01:42:05] src/operator/./pooling-inl.h:199: Check failed: param_.kernel[0] <= dshape[2] + 2 * param_.pad[0] && param_.kernel[1] <= dshape[3] + 2 * param_.pad[1] kernel size exceed input.
I use the latest mxnet code (9ee093c) to convert the GoogLeNet model. The pre-trained model parameter and deploy files are provided here (I've changed the data input layer with the old style, otherwise an error will occured).
But, I can convert the model with older version of mxnet (9053470) ...