deeplabv3p_xception MKLDNN prediction failed
Created by: OliverLPH
System information -PaddlePaddle version: develop, 597345d1 -CPU: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz, mkldnn enabled -GPU: P4, CUDA10, CUDNN7.5, compile with GPU, but run cpu inference -OS Platform: Ubuntu1604 -Dockerfile: Paddle/tools/manylinux1/Dockerfile.cuda10_cudnn7_gcc48_ubuntu16 -Python version: 3.7 -Cmake orders -C++version.txt -API information Note: You can get most of the information by running summary_env.py. To Reproduce Steps to reproduce the behavior
config = AnalysisConfig(args.model_file, args.params_file)
config.disable_gpu()
config.enable_mkldnn()
config.switch_use_feed_fetch_ops(False)
config.switch_specify_input_names(True)
# config.delete_pass("depthwise_conv_mkldnn_pass") # this pass has bug
Describe your current behavior
--------------------------------------
C++ Traceback (most recent call last):
--------------------------------------
0 paddle::AnalysisPredictor::ZeroCopyRun()
1 paddle::framework::NaiveExecutor::Run()
2 paddle::framework::OperatorBase::Run(paddle::framework::Scope const&, paddle::platform::Place const&)
3 paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, paddle::platform::Place const&) const
4 paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, paddle::platform::Place const&, paddle::framework::RuntimeContext*) const
5 std::_Function_handler<void (paddle::framework::ExecutionContext const&), paddle::framework::OpKernelRegistrarFunctor<paddle::platform::CPUPlace, false, 0ul, paddle::operators::ConvMKLDNNOpKernel<float, float> >::operator()(char const*, char const*, int) const::{lambda(paddle::framework::ExecutionContext const&)#1}>::_M_invoke(std::_Any_data const&, paddle::framework::ExecutionContext const&)
6 void paddle::operators::ConvMKLDNNOpKernel<float, float>::ComputeFP32<float>(paddle::framework::ExecutionContext const&) const
7 paddle::operators::ConvMKLDNNHandlerT<float, float, float>::ConvMKLDNNHandlerT(paddle::framework::ExecutionContext const&, paddle::platform::MKLDNNDeviceContext const&, dnnl::engine, paddle::platform::Place, paddle::framework::Tensor const*, paddle::framework::Tensor const*, paddle::framework::Tensor const*, paddle::framework::Tensor*, std::string const&)
8 paddle::platform::EnforceNotMet::EnforceNotMet(std::string const&, char const*, int)
9 paddle::platform::GetCurrentTraceBackString()
----------------------
Error Message Summary:
----------------------
UnimplementedError: Dilation in oneDNN convolution is not implemented yet
[Hint: Expected is_conv3d ? dilations.size() == 3 && dilations[0] == 1 && dilations[1] == 1 && dilations[2] == 1 : dilations.size() == 2 && dilations[0] == 1 && dilations[1] == 1 == true, but received is_conv3d ? dilations.size() == 3 && dilations[0] == 1 && dilations[1] == 1 && dilations[2] == 1 : dilations.size() == 2 && dilations[0] == 1 && dilations[1] == 1:0 != true:1.] (at /workspace/paddle/fluid/operators/mkldnn/conv_mkldnn_op.cc:195)
[operator < conv2d > error]
Code to reproduce the issue deeplabv3_mkldnn_bug.txt
python3 deeplabv3_mkldnn_bug.py --model_file=./deeplabv3p_xception_769-fp32/model --params_file=./deeplabv3p_xception_769-fp32/params