diff --git a/paddle/fluid/pybind/op_function_generator.cc b/paddle/fluid/pybind/op_function_generator.cc index a9075a333a0f9fde8cd32861a1ed3c0ed350b7ba..e1a525f4641dec7b472bc293f90c37c2da5a1c3a 100644 --- a/paddle/fluid/pybind/op_function_generator.cc +++ b/paddle/fluid/pybind/op_function_generator.cc @@ -75,7 +75,7 @@ std::map> op_passing_outs_map = { {"fill_constant", {"Out"}}, {"matmul", {"Out"}}, {"fake_quantize_dequantize_moving_average_abs_max", - {"OutScale", "OutAccum", "OutState"}}, + {"Out", "OutScale", "OutAccum", "OutState"}}, }; // clang-format off @@ -98,16 +98,12 @@ const char* INPUT_INITIALIZER_TEMPLATE_WITH_NULL_LIST = R"( } )"; -const char* OUTPUT_INITIALIZER_TEMPLATE_WITH_NULL = R"( - if (%s != nullptr) { - outs["%s"] = {%s}; - } +const char* OUTPUT_INITIALIZER_TEMPLATE_WITH_NULL = R"( + outs["%s"] = {%s}; )"; -const char* OUTPUT_INITIALIZER_TEMPLATE_WITH_NULL_LIST = R"( - if (%s.size() != 0) { - outs["%s"] = %s; - } +const char* OUTPUT_INITIALIZER_TEMPLATE_WITH_NULL_LIST = R"( + outs["%s"] = %s; )"; // if inputs is list, no need {} const char* ARG_OUT_NUM = R"(%sNum)"; @@ -246,8 +242,8 @@ GenerateOpFunctions(const std::string& module_name) { const auto out_template = output.duplicable() ? OUTPUT_INITIALIZER_TEMPLATE_WITH_NULL_LIST : OUTPUT_INITIALIZER_TEMPLATE_WITH_NULL; - outs_initializer_with_null += paddle::string::Sprintf( - out_template, out_name, out_name, out_name); + outs_initializer_with_null += + paddle::string::Sprintf(out_template, out_name, out_name); } else { const auto out_template = output.duplicable() ? INPUT_LIST_INITIALIZER_TEMPLATE