ExecuTorch 執行階段 Python API 參考¶
Python 的 executorch.runtime
模組封裝了 C++ ExecuTorch 運行時。它可以載入和執行序列化的 .pte
程式檔案:請參閱匯出至 ExecuTorch 教學,了解如何將 PyTorch nn.Module
轉換為 ExecuTorch .pte
程式檔案。執行接受並傳回 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)[原始碼]¶
ExecuTorch 運行時環境的實例。
可用於同時載入和執行任意數量的 ExecuTorch 程式和方法。
- class executorch.runtime.OperatorRegistry(legacy_module)[原始碼]¶
運行時可用的運算符註冊表。
- property operator_names¶
傳回所有已註冊運算符的名稱,作為字串集合。