Running ‘TestBackward’ with the CAFFE CuDNNPoolingLayer instead of the CAFFE PoolingLayer layer fails at line 110 in ‘test_maxpool_dropout_layers.cpp’
The failure occurs on the statement “EXPECT_EQ(sum, this->blob_top_->count());” for the sum == 288 instead of the expected 36.
When run with the CAFFE PoolingLayer class the sum == 36 which is expected. The only difference between these two tests is that the CAFFE CuDNNPoolingLayer uses CudNN ‘cudnnPoolingBackward’ function whereas the CAFFE PoolingLayer uses its own GPU kernels for the backward action.
See caffe/test_maxpool_dropout_layers.cpp at master · BVLC/caffe · GitHub for the test setup.