From 625482f752490f04df78034a383b7cee839a8780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E6=99=93=E4=BC=9F?= <39303645+Shixiaowei02@users.noreply.github.com> Date: Mon, 1 Mar 2021 18:56:01 +0800 Subject: [PATCH] inference modification for custom operator, test=develop (#31312) --- paddle/fluid/inference/api/analysis_predictor.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/paddle/fluid/inference/api/analysis_predictor.cc b/paddle/fluid/inference/api/analysis_predictor.cc index 2325524421d..4cb73b35646 100644 --- a/paddle/fluid/inference/api/analysis_predictor.cc +++ b/paddle/fluid/inference/api/analysis_predictor.cc @@ -613,12 +613,17 @@ std::unique_ptr CreatePaddlePredictor< platform::errors::InvalidArgument( "Note: Each config can only be used for one predictor.")); + // Register custom operators compiled by the user. + // This function can only be executed once per process. + static std::once_flag custom_operators_registered; + std::call_once(custom_operators_registered, + []() { paddle::RegisterAllCustomOperator(); }); + if (config.use_gpu()) { static std::once_flag gflags_initialized; static bool process_level_allocator_enabled; std::call_once(gflags_initialized, [&]() { - paddle::RegisterAllCustomOperator(); std::vector gflags; PADDLE_ENFORCE_GE( config.memory_pool_init_size_mb(), 0.f, -- GitLab