From 0fe3079c4641fb1ee20b40f7f445d7e63c13c345 Mon Sep 17 00:00:00 2001 From: Tomasz Patejko Date: Tue, 16 Oct 2018 14:56:21 +0200 Subject: [PATCH] MKLDNN conv + elementwise_add fusion: fix for order of parameters in elementwise_add in resnet50 test=develop --- .../ir/conv_elementwise_add_mkldnn_fuse_pass_tester.cc | 6 +++--- paddle/fluid/framework/ir/graph_pattern_detector.cc | 10 +++++----- paddle/fluid/framework/ir/graph_pattern_detector.h | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/paddle/fluid/framework/ir/conv_elementwise_add_mkldnn_fuse_pass_tester.cc b/paddle/fluid/framework/ir/conv_elementwise_add_mkldnn_fuse_pass_tester.cc index 08c3b23cf30..fd47b96c101 100644 --- a/paddle/fluid/framework/ir/conv_elementwise_add_mkldnn_fuse_pass_tester.cc +++ b/paddle/fluid/framework/ir/conv_elementwise_add_mkldnn_fuse_pass_tester.cc @@ -109,7 +109,7 @@ TEST(ConvElementwiseAddMKLDNNFusePass, ConvolutionWithElementwiseAddRelu) { } SetOp(&prog, "conv2d", {"a", "bias", "weights"}, {"b"}); - SetOp(&prog, "elementwise_add", {"c", "b"}, {"d"}); + SetOp(&prog, "elementwise_add", {"b", "c"}, {"d"}); SetOp(&prog, "relu", {"d"}, {"e"}); return prog; @@ -160,7 +160,7 @@ TEST(ConvElementwiseAddMKLDNNFusePass, ConvolutionElementwiseAdd) { } SetOp(&prog, "conv2d", {"a", "bias", "weights"}, {"b"}); - SetOp(&prog, "elementwise_add", {"c", "b"}, {"d"}); + SetOp(&prog, "elementwise_add", {"b", "c"}, {"d"}); return prog; }; @@ -211,7 +211,7 @@ TEST(ConvElementwiseAddMKLDNNFusePass, SigmoidConvolutionAddElementwiseRelu) { SetOp(&prog, "sigmoid", {"a"}, {"b"}); SetOp(&prog, "conv2d", {"b", "bias", "weights"}, {"c"}); - SetOp(&prog, "elementwise_add", {"d", "c"}, {"e"}); + SetOp(&prog, "elementwise_add", {"c", "d"}, {"e"}); SetOp(&prog, "relu", {"e"}, {"f"}); return prog; diff --git a/paddle/fluid/framework/ir/graph_pattern_detector.cc b/paddle/fluid/framework/ir/graph_pattern_detector.cc index 6d524651e0b..786765bff72 100644 --- a/paddle/fluid/framework/ir/graph_pattern_detector.cc +++ b/paddle/fluid/framework/ir/graph_pattern_detector.cc @@ -1024,15 +1024,15 @@ PDNode *patterns::Conv::operator()() { return output_var; } -PDNode *patterns::ElementwiseAdd::operator()(PDNode *y_var) { +PDNode *patterns::ElementwiseAdd::operator()(PDNode *x_var) { auto elementwise_add_op = pattern->NewNode(elementwise_add_op_repr()) ->assert_is_op("elementwise_add"); - auto x_var = pattern->NewNode(elementwise_add_x_repr()) - ->AsInput() - ->assert_is_op_input("elementwise_add", "X"); + x_var->assert_is_op_input("elementwise_add", "X"); - y_var->assert_is_op_input("elementwise_add", "Y"); + auto y_var = pattern->NewNode(elementwise_add_x_repr()) + ->AsInput() + ->assert_is_op_input("elementwise_add", "Y"); auto out_var = pattern->NewNode(elementwise_add_out_repr()) ->AsOutput() diff --git a/paddle/fluid/framework/ir/graph_pattern_detector.h b/paddle/fluid/framework/ir/graph_pattern_detector.h index 08fd8174ceb..8e4f4a14ab7 100644 --- a/paddle/fluid/framework/ir/graph_pattern_detector.h +++ b/paddle/fluid/framework/ir/graph_pattern_detector.h @@ -631,7 +631,7 @@ struct ElementwiseAdd : public PatternBase { ElementwiseAdd(PDPattern* pattern, const std::string& name_scope) : PatternBase(pattern, name_scope, "elementwise_add") {} - PDNode* operator()(PDNode* y_var); + PDNode* operator()(PDNode* x_var); PATTERN_DECL_NODE(elementwise_add_op); PATTERN_DECL_NODE(elementwise_add_x); -- GitLab