From 384eca14fdff4b791ba2015065e255d7a6a46de4 Mon Sep 17 00:00:00 2001 From: zhoushunjie Date: Wed, 8 Mar 2023 06:32:27 +0000 Subject: [PATCH] Fix delete pass --- .../runtime/backends/paddle/paddle_backend.cc | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/fastdeploy/runtime/backends/paddle/paddle_backend.cc b/fastdeploy/runtime/backends/paddle/paddle_backend.cc index bfe122f97..b5774d34a 100644 --- a/fastdeploy/runtime/backends/paddle/paddle_backend.cc +++ b/fastdeploy/runtime/backends/paddle/paddle_backend.cc @@ -88,13 +88,6 @@ void PaddleBackend::BuildOption(const PaddleBackendOption& option) { if (!option.enable_log_info) { config_.DisableGlogInfo(); } - if (!option.delete_pass_names.empty()) { - auto pass_builder = config_.pass_builder(); - for (int i = 0; i < option.delete_pass_names.size(); i++) { - FDINFO << "Delete pass : " << option.delete_pass_names[i] << std::endl; - pass_builder->DeletePass(option.delete_pass_names[i]); - } - } if (option.cpu_thread_num <= 0) { config_.SetCpuMathLibraryNumThreads(8); } else { @@ -237,6 +230,15 @@ bool PaddleBackend::InitFromPaddle(const std::string& model_buffer, << " to set TensorRT dynamic shape." << std::endl; config_.EnableTunedTensorRtDynamicShape(shape_range_info, false); } + // Note(zhoushunjie): The pass deletion should be executed just before + // creating predictor. + if (!option.delete_pass_names.empty()) { + auto pass_builder = config_.pass_builder(); + for (int i = 0; i < option.delete_pass_names.size(); i++) { + FDINFO << "Delete pass : " << option.delete_pass_names[i] << std::endl; + pass_builder->DeletePass(option.delete_pass_names[i]); + } + } predictor_ = paddle_infer::CreatePredictor(config_); initialized_ = true; return true;