From dec192ab5eb0f7b8c9e01bd70862bb20ab88f39f Mon Sep 17 00:00:00 2001 From: caifubi Date: Thu, 8 Apr 2021 18:29:19 +0800 Subject: [PATCH] PyNative peformance optimize. Avoid calls constexpr InferShape --- mindspore/ops/primitive.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mindspore/ops/primitive.py b/mindspore/ops/primitive.py index 759cebb804..70b0840c49 100644 --- a/mindspore/ops/primitive.py +++ b/mindspore/ops/primitive.py @@ -537,6 +537,9 @@ def constexpr(fn=None, get_instance=True, name=None): def deco(fn): class CompileOp(PrimitiveWithInfer): + """ + CompileOp is a temporary operator used to execute the constexpr function. + """ def __init__(self): op_name = name if name else fn.__name__ PrimitiveWithInfer.__init__(self, op_name) @@ -545,6 +548,9 @@ def constexpr(fn=None, get_instance=True, name=None): def infer_value(self, *args): return fn(*args) + def __call__(self, *args, **kwargs): + return fn(*args) + if get_instance: return CompileOp() return CompileOp