diff --git a/src/framework/executor.cpp b/src/framework/executor.cpp index e1131941ecbc84f2860425dd2a073993c052e8ca..81b2ca985f400b6521b63ba24afa52ee8c641e79 100644 --- a/src/framework/executor.cpp +++ b/src/framework/executor.cpp @@ -552,10 +552,9 @@ void Executor::SetInput(const Tensor &input, DLOG << "target_tensor->dims() " << target_tensor->dims(); DLOG << "input.dims() " << input.dims(); if (config_.load_when_predict) { - if (target_tensor->dims() != input.dims()) { + if (input_dim_last_ != input.dims()) { if (!target_tensor->IsInitialized()) { DLOG << "SetInput ---- > resize1"; - std::cout << "SetInput ---- > resize1" << std::endl; target_tensor->Resize(input.dims()); target_tensor->mutable_data(); } @@ -567,6 +566,7 @@ void Executor::SetInput(const Tensor &input, DLOG << "SetInput ---- > ShareDataWith"; } target_tensor->ShareDataWith(input); + input_dim_last_ = input.dims(); } template diff --git a/src/framework/executor.h b/src/framework/executor.h index 16fb2cab05fced62259ccacd3f5f5b616fd50e96..e77df5174ca60600ae7938b8bfd3bca5b2b9c9f3 100644 --- a/src/framework/executor.h +++ b/src/framework/executor.h @@ -84,7 +84,7 @@ class Executor { std::vector ops_list_; // for super resoltion - DDim input_dim_; + DDim input_dim_last_; #ifdef PADDLE_MOBILE_PROFILE struct ProfInfo {