rebuild graph before rungraph if needed

This commit is contained in:
simson 2020-04-08 15:19:57 +08:00
parent e6ea09082c
commit ee5b406b37
1 changed files with 7 additions and 0 deletions

View File

@ -138,6 +138,13 @@ Status GraphRunner::RunGraph(const RunOptions& options, const std::vector<GeTens
return Status::FAILED; return Status::FAILED;
} }
// The information of some nodes could be changed after fusion in some cases
// Therefore a graph needs to be rebuilt in above situation
if (sess_->IsGraphNeedRebuild(wrap_ptr->id_)) {
sess_->RemoveGraph(wrap_ptr->id_);
sess_->AddGraph(wrap_ptr->id_, *(it->graph_ptr_), it->options_);
}
ge::Status ret = sess_->RunGraph(wrap_ptr->id_, ge_inputs, ge_outputs); ge::Status ret = sess_->RunGraph(wrap_ptr->id_, ge_inputs, ge_outputs);
if (ret != ge::GRAPH_SUCCESS) { if (ret != ge::GRAPH_SUCCESS) {
MS_LOG(ERROR) << "Call GE RunGraph Failed, ret is: " << ret; MS_LOG(ERROR) << "Call GE RunGraph Failed, ret is: " << ret;