From f686310d81d8ada270eb3aff24bdaa765a978d1b Mon Sep 17 00:00:00 2001 From: Wilber Date: Thu, 5 Mar 2020 17:34:00 +0800 Subject: [PATCH] fix concat_mkldnn op. test=develop (#22692) fix concat_mkldnn op when encounter extreame conditions. --- paddle/fluid/operators/mkldnn/concat_mkldnn_op.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/paddle/fluid/operators/mkldnn/concat_mkldnn_op.cc b/paddle/fluid/operators/mkldnn/concat_mkldnn_op.cc index 91e9d7bbaf..436bbdc553 100644 --- a/paddle/fluid/operators/mkldnn/concat_mkldnn_op.cc +++ b/paddle/fluid/operators/mkldnn/concat_mkldnn_op.cc @@ -142,9 +142,12 @@ class ConcatMKLDNNOpKernel : public paddle::framework::OpKernel { paddle::framework::ToMKLDNNDataType(multi_input[0]->type()); ConcatPrimitiveFactory prim_creator; + // If one of the multiple inputs of concat has an input size of 0, the + // actual size of the multi_input will change std::string key = platform::CreateKey( paddle::framework::vectorize(multi_input[0]->dims()), - ctx.OutputName("Out"), dt, platform::ThreadIDasStr()); + multi_input.size(), ctx.OutputName("Out"), dt, + platform::ThreadIDasStr()); const std::string key_prim = key + "@concat_p"; const std::string key_concat_pd = key + "@concat_pd"; -- GitLab