Fix delete pass

This commit is contained in:
zhoushunjie
2023-03-08 06:32:27 +00:00
parent 3d31834193
commit 384eca14fd

View File

@@ -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;