Script

功能

通过 matx.script 可以将 Python 的类/函数翻译成 C++ 对应的实现,并提供统一接口,以 Op 的形式集成到整体流程中。

Python, Matx

Matx

函数

Op

Object(每个成员函数都是一个 Op)

使用方式

注意:所有的类的成员变量和函数的声明需要强制 类型标注

案例一

import matx

# make a class and compile it as a operator
class foo:

   def __init__(self, i: int) -> None: # annotation of the function signature
      self._i: int = i # annotation of class member

   def add(self, j: int) -> int:
      print("going to return self._i + j")
      return self._i + j

   def hello(self) -> None:
      print("hello world")

obj = matx.script(foo)(1)
rc = obj.add(2)

案例二

import matx

# make a function and compile it as a operator
@matx.script
def boo(a: str, b: str) -> str:  # annotation of the function signature
   return a + b

rc = boo("ab", "cd")