diff --git a/paddle/fluid/inference/analysis/passes/save_optimized_model_pass.cc b/paddle/fluid/inference/analysis/passes/save_optimized_model_pass.cc index a2e968591943fbd48440129e219a8771a098abbe..2cfba89a91c359e725e8d52c0e3263835de7c465 100644 --- a/paddle/fluid/inference/analysis/passes/save_optimized_model_pass.cc +++ b/paddle/fluid/inference/analysis/passes/save_optimized_model_pass.cc @@ -55,6 +55,9 @@ void SaveOptimizedModelPass::SaveOptimizedModel(Argument* argument) { auto* graph = argument->main_graph_ptr(); framework::ProgramDesc optimized_program_desc; + // NOTE(liuyuanle): If the following line of code is not added, an error + // [SegmentFault] may occur! + optimized_program_desc.CopyFrom(*argument->main_program().Proto()); framework::ir::GraphToProgram(*graph, &optimized_program_desc); auto IsPersistable = [](const framework::VarDesc* var) { @@ -130,7 +133,9 @@ void SaveOptimizedModelPass::SaveOptimizedModel(Argument* argument) { } void SaveOptimizedModelPass::RunImpl(Argument* argument) { - if (argument->use_xpu_valid()) { + // TODO(inference): Support trt. + if (argument->use_xpu() || + (argument->use_gpu() && !argument->use_tensorrt())) { SaveOptimizedModel(argument); } } diff --git a/paddle/fluid/inference/api/analysis_predictor.cc b/paddle/fluid/inference/api/analysis_predictor.cc index d9899e27e24af7a3dcf9223068f78f26faa64078..44bd09e86ada9122b097a826f0558d6796db5afc 100644 --- a/paddle/fluid/inference/api/analysis_predictor.cc +++ b/paddle/fluid/inference/api/analysis_predictor.cc @@ -1379,6 +1379,7 @@ void AnalysisPredictor::PrepareArgument() { argument_->SetOptimInputShape(config_.optim_input_shape_); argument_->SetTensorRtTunedDynamicShape( config_.tuned_tensorrt_dynamic_shape()); + argument_->SetUseTensorRT(false); if (config_.use_gpu() && config_.tensorrt_engine_enabled()) { LOG(INFO) << "TensorRT subgraph engine is enabled"; argument_->SetUseTensorRT(true); diff --git a/paddle/fluid/inference/api/paddle_pass_builder.h b/paddle/fluid/inference/api/paddle_pass_builder.h index 4ebd0dd5331d99bf5a2527e7f60a690ff6b80227..cc8403be534161c6a2d149909a26cb0e81fdc6db 100644 --- a/paddle/fluid/inference/api/paddle_pass_builder.h +++ b/paddle/fluid/inference/api/paddle_pass_builder.h @@ -181,8 +181,6 @@ class PD_INFER_DECL PassStrategy : public PaddlePassBuilder { bool use_ipu_{false}; bool use_mkldnn_{false}; bool use_custom_device_{false}; - - bool use_gpu_low_precision_{false}; /// \endcond };