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")