diff --git a/paddle/framework/grad_op_builder.cc b/paddle/framework/grad_op_builder.cc index 27f37d99232fd56593cd2decefa466d9af620e9b..5f84eb8c15df3045a79544539e1e53d81b3145af 100644 --- a/paddle/framework/grad_op_builder.cc +++ b/paddle/framework/grad_op_builder.cc @@ -33,12 +33,12 @@ static void TransOpArg(const OperatorBase* src_op, OperatorBase* dst_op, auto& dst_inout = dst_type == OpArgType::IN ? dst_op->inputs_ : dst_op->outputs_; - const OpProto& proto = OpRegistry::protos().at(src_op->type_); + const OpProto& proto = OpProtos().at(src_op->type_); const auto& src_arg_list = src_type == OpArgType::IN ? proto.inputs() : proto.outputs(); for (const auto& arg : src_arg_list) { - std::string src_name = arg.name(); + const std::string& src_name = arg.name(); std::string dst_name = is_grad ? GradVarName(src_name) : src_name; for (auto& var_name : src_inout.at(src_name)) { std::string s = is_grad ? GradVarName(var_name) diff --git a/paddle/framework/pybind.cc b/paddle/framework/pybind.cc index e606751e1c3cac35ab05ceda17b1f0c3d67a39f4..173a701fa6f6b0d8e34b38ac369844d065f78319 100644 --- a/paddle/framework/pybind.cc +++ b/paddle/framework/pybind.cc @@ -154,7 +154,7 @@ All parameter, weight, gradient are variables in Paddle. //! @note: Be careful! PyBind will return std::string as an unicode, not //! Python str. If you want a str object, you should cast them in Python. m.def("get_all_op_protos", []() -> std::vector { - auto &protos = OpRegistry::protos(); + auto &protos = OpProtos(); std::vector ret_values; for (auto it = protos.begin(); it != protos.end(); ++it) { PADDLE_ENFORCE(it->second.IsInitialized(),