diff --git a/src/framework/executor.cpp b/src/framework/executor.cpp index b36b81b294f543eac297857eb7172453d178864e..06e19ea093b639eb150c42fa113d7279cb458342 100644 --- a/src/framework/executor.cpp +++ b/src/framework/executor.cpp @@ -469,7 +469,7 @@ void Executor::FeedData(const std::vector &v) { PADDLE_MOBILE_ENFORCE(input_size == vars.size(), "input data number not correct"); for (int i = 0; i < input_size; i++) { - auto var = program_.scope->Var("feed", i); + auto var = vars[i]; auto feed_tensor = var->template GetMutable(); feed_tensor->external_data = v[i]; } @@ -482,7 +482,7 @@ void Executor::FeedTensorData(const vector &v) { PADDLE_MOBILE_ENFORCE(input_size == vars.size(), "input data number not correct"); for (int i = 0; i < input_size; i++) { - auto var = program_.scope->Var("feed", i); + auto var = vars[i]; auto feed_tensor = var->template GetMutable(); feed_tensor->ShareDataWith(v[i]); } @@ -495,8 +495,9 @@ void Executor::GetResults(std::vector *v) { auto vars = program_.scope->VarContain("fetch"); PADDLE_MOBILE_ENFORCE(output_size == vars.size(), "output data number not correct"); + for (int i = 0; i < output_size; i++) { - auto var = program_.scope->Var("fetch", i); + auto var = vars[i]; auto fetch_tensor = var->template GetMutable(); (*v)[i] = fetch_tensor->template data(); } @@ -509,7 +510,7 @@ void Executor::GetTensorResults( auto output_size = vars.size(); for (int i = 0; i < output_size; i++) { - auto var = program_.scope->Var("fetch", i); + auto var = vars[i]; auto fetch_tensor = var->template GetMutable(); v->push_back(fetch_tensor); }