diff --git a/paddle/pybind/protobuf.cc b/paddle/pybind/protobuf.cc index de6db60730b2434379711deb52721ed826246af7..f119a12e98fc19b0749d2221a8247c4c0b3f13db 100644 --- a/paddle/pybind/protobuf.cc +++ b/paddle/pybind/protobuf.cc @@ -104,6 +104,12 @@ public: return ops_.back().get(); } + OpDescBind *PrependOp() { + need_update_ = true; + ops_.emplace_front(new OpDescBind()); + return ops_.front().get(); + } + void Sync() { if (need_update_) { auto &op_field = *this->desc_->mutable_ops(); @@ -224,6 +230,9 @@ void BindBlockDesc(py::module &m) { .def("append_op", &BlockDescBind::AppendOp, py::return_value_policy::reference) + .def("prepend_op", + &BlockDescBind::PrependOp, + py::return_value_policy::reference) .def("new_var", &BlockDescBind::NewVar, py::return_value_policy::reference);