ExecuTorch 运行时 Python API 参考¶
Python executorch.runtime
模块封装了 C++ ExecuTorch 运行时。它可以加载和执行序列化 .pte
程序文件:有关如何将 PyTorch nn.Module
转换为 ExecuTorch .pte
程序文件的详细信息,请参阅 导出到 ExecuTorch 教程。执行接受并返回 torch.Tensor
值,使其成为验证程序正确性的快速方法。
有关 API 如何演变以及弃用过程的详细信息,请参阅 ExecuTorch API 生命周期和弃用策略.
示例用法
from pathlib import Path
import torch
from executorch.runtime import Verification, Runtime, Program, Method
et_runtime: Runtime = Runtime.get()
program: Program = et_runtime.load_program(
Path("/tmp/program.pte"),
verification=Verification.Minimal,
)
print("Program methods:", program.method_names)
forward: Method = program.load_method("forward")
inputs = (torch.ones(2, 2), torch.ones(2, 2))
outputs = forward.execute(inputs)
print(f"Ran forward({inputs})")
print(f" outputs: {outputs}")
示例输出
Program methods: ('forward', 'forward2')
Ran forward((tensor([[1., 1.],
[1., 1.]]), tensor([[1., 1.],
[1., 1.]])))
outputs: [tensor([[1., 1.],
[1., 1.]])]
- class executorch.runtime.Runtime(*, legacy_module)[source]¶
ExecuTorch 运行时环境的实例。
这可用于同时加载和执行任意数量的 ExecuTorch 程序和方法。
- class executorch.runtime.OperatorRegistry(legacy_module)[source]¶
可供运行时使用的运算符注册表。
- property operator_names¶
返回所有注册运算符的名称,作为一个字符串集。