Skip to content

Commit 628f085

Browse files
authored
[Cherry-pick] inference modification for custom operator (#31283) (#31300)
1 parent 227a677 commit 628f085

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

paddle/fluid/framework/custom_operator.cc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -667,10 +667,6 @@ void RegisterOperatorWithMetaInfo(
667667
void RegisterOperatorWithMetaInfoMap(
668668
const paddle::OpMetaInfoMap& op_meta_info_map) {
669669
auto& meta_info_map = op_meta_info_map.GetMap();
670-
671-
PADDLE_ENFORCE_EQ(meta_info_map.empty(), false,
672-
platform::errors::PreconditionNotMet(
673-
"No custom operator that needs to be registered."));
674670
VLOG(1) << "Custom Operator: size of op meta info map - "
675671
<< meta_info_map.size();
676672
// pair: {op_type, OpMetaInfo}

paddle/fluid/inference/api/analysis_predictor.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include <string>
2222
#include <utility>
2323
#include <vector>
24+
#include "paddle/fluid/extension/include/ext_op_meta_info.h"
2425
#include "paddle/fluid/framework/feed_fetch_method.h"
2526
#include "paddle/fluid/framework/feed_fetch_type.h"
2627
#include "paddle/fluid/framework/ir/fuse_pass_base.h"
@@ -612,6 +613,12 @@ std::unique_ptr<PaddlePredictor> CreatePaddlePredictor<
612613
platform::errors::InvalidArgument(
613614
"Note: Each config can only be used for one predictor."));
614615

616+
// Register custom operators compiled by the user.
617+
// This function can only be executed once per process.
618+
static std::once_flag custom_operators_registered;
619+
std::call_once(custom_operators_registered,
620+
[]() { paddle::RegisterAllCustomOperator(); });
621+
615622
if (config.use_gpu()) {
616623
static std::once_flag gflags_initialized;
617624
static bool process_level_allocator_enabled;

0 commit comments

Comments
 (0)