diff --git a/src/framework/executor.cpp b/src/framework/executor.cpp index c755924b8e3a1ede3f0d01ac418e1f3f04a0ffa9..1b441bc5bdfed264f525dda571278067d2ae99b7 100644 --- a/src/framework/executor.cpp +++ b/src/framework/executor.cpp @@ -417,78 +417,6 @@ std::vector::Ptype> Executor::Predict( } } -#ifdef PADDLE_MOBILE_FPGA - -template -void Executor::InjectVariable(const framework::Tensor &t, - string var_name) { - framework::Variable *g_feed_value = program_.scope->Var(var_name); - framework::Tensor *feed_tensor = - g_feed_value->GetMutable(); - feed_tensor->Resize(t.dims()); - feed_tensor->ShareDataWith(t); -} - -template -void Executor::FeedData(const framework::Tensor &t) { - InjectVariable(t, "feed"); -} - -template -std::shared_ptr Executor::FetchResult(int id) { - std::shared_ptr to_predict_block = - to_predict_program_->Block(0); - auto &ops = ops_of_block_[*to_predict_block.get()]; - - PADDLE_MOBILE_ENFORCE(id < ops.size(), "Index out of range"); - auto last_op = id < 0 ? ops[ops.size() - 1] : ops[id]; - auto output_map = last_op->Outputs(); - std::vector out_keys = last_op->GetOutKeys(); - PADDLE_MOBILE_ENFORCE(!out_keys.empty(), "the last op contains no output"); - auto *output_tensor = framework::GetVarValue( - out_keys[0], output_map, *(program_.scope)); - return std::make_shared(framework::Tensor(*output_tensor)); -} - -template -void Executor::Predict_From_To(int start, int end) { - std::shared_ptr to_predict_block = - to_predict_program_->Block(0); - auto &ops = ops_of_block_[*to_predict_block.get()]; - end = end < 0 ? static_cast(ops.size()) : end; - PADDLE_MOBILE_ENFORCE(start >= 0 && start < end && end <= ops.size(), - "start or end parameter is wrong"); - -#ifdef PADDLE_MOBILE_PROFILE - std::vector profile(ops.size()); -#endif - for (int i = start; i < end; i++) { -#ifdef PADDLE_MOBILE_PROFILE - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - profile[i].runBegin = (uint64_t)ts.tv_sec * 1e9 + ts.tv_nsec; -#endif - DLOG << "Running op: " << i << " " << ops[i]->Type(); - ops[i]->Run(); - -#ifdef PADDLE_MOBILE_PROFILE - clock_gettime(CLOCK_MONOTONIC, &ts); - profile[i].runEnd = (uint64_t)ts.tv_sec * 1e9 + ts.tv_nsec; -#endif - } -} - -template -void Executor::Predict_From(int start) { - Predict_From_To(start); -} - -template -void Executor::Predict_To(int end) { - Predict_From_To(0, end); -} -#endif - #ifdef PADDLE_MOBILE_FPGA template void Executor::InjectVariable(const framework::Tensor &t,