diff --git a/paddle/fluid/imperative/prepared_operator.cc b/paddle/fluid/imperative/prepared_operator.cc index 57c6ae3cbb0a136cdb87995096fc8c9b911ea855..f1e1f79b99ef74df77eb69d5469c73a73b81731b 100644 --- a/paddle/fluid/imperative/prepared_operator.cc +++ b/paddle/fluid/imperative/prepared_operator.cc @@ -104,7 +104,10 @@ PreparedOp PrepareImpl(const NameVarMap& ins, // Const qualifier of Attrs had to be discarded to overwrite it. if (FLAGS_use_mkldnn) { auto& mutable_op_attrs = const_cast(op.Attrs()); - mutable_op_attrs = attrs; + mutable_op_attrs = default_attrs; + for (auto& attr : attrs) { + mutable_op_attrs[attr.first] = attr.second; + } } #endif