diff --git a/paddle/function/ConvOpTest.h b/paddle/function/ConvOpTest.h index 85debb7ae3a64bd25abd08a3c77a25b26ed80242..d8d3c792df236ab0fd412b0cf77f275355848627 100644 --- a/paddle/function/ConvOpTest.h +++ b/paddle/function/ConvOpTest.h @@ -81,8 +81,13 @@ void Convolution(const std::string& conv1, for (size_t padding : {0, 1}) { for (size_t dilation : {1, 3}) { if (padding >= filterSize) break; + size_t filterS = (filterSize - 1) * dilation + 1; - if ((conv1 == "NaiveConv-CPU" || conv2 == "NaiveConv-CPU") && + if (inputSize + 2 * padding < filterS) break; + + if ((conv1 == "NaiveConv-CPU" || conv2 == "NaiveConv-CPU" || + conv1 == "NNPACKConv-CPU" || + conv2 == "NNPACKConv-CPU") && dilation > 1) break; @@ -93,7 +98,7 @@ void Convolution(const std::string& conv1, break; size_t outputSize = - (inputSize - filterSize + 2 * padding + stride) / stride; + (inputSize - filterS + 2 * padding + stride) / stride; VLOG(3) << " batchSize=" << batchSize << " inputChannels=" << inputChannels << " inputHeight=" << inputSize diff --git a/paddle/function/Im2ColTest.cpp b/paddle/function/Im2ColTest.cpp index 28507b7e184204d151d5b139edbe8ed9f02fad64..1f085538d81904dbd5b5d6bcd014adaed22e37d7 100644 --- a/paddle/function/Im2ColTest.cpp +++ b/paddle/function/Im2ColTest.cpp @@ -32,7 +32,8 @@ void TestIm2ColFunctor() { for (size_t dilation : {1, 3}) { size_t filterSizeH = (filterHeight - 1) * dilation + 1; size_t filterSizeW = (filterWidth - 1) * dilation + 1; - if (inputHeight <= filterSizeH || inputWidth <= filterSizeW) + if (inputHeight + 2 * padding < filterSizeH || + inputWidth + 2 * padding < filterSizeW) break; if (padding >= filterSizeH || padding >= filterSizeW) break; size_t outputHeight = diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_roi_pool_layer.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_roi_pool_layer.protostr index f1bc65b3aee7488700a9d24e049adb510649c475..0ec88aa998cce91be4d0ca5430ad49aa4dc6aa63 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_roi_pool_layer.protostr +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_roi_pool_layer.protostr @@ -36,6 +36,8 @@ layers { stride_y: 1 output_y: 14 img_size_y: 14 + dilation: 1 + dilation_y: 1 } } bias_parameter_name: "___conv_0__.wbias"