目录

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)[source]

ExecuTorch 运行时环境的一个实例。

这可用于并发加载和执行任意数量的 ExecuTorch 程序和方法。

static get()[source]

获取运行时单例。

load_program(data, *, verification=<Verification.InternalConsistency: 1>)[source]

从 PTE 二进制文件加载 ExecuTorch 程序。

Parameters
  • data – 要加载的二进制程序数据;通常是 PTE 数据。

  • 验证 – 要执行的程序验证级别。

Returns

已加载的程序。

class executorch.runtime.OperatorRegistry(legacy_module)[source]

运行时可用的算子注册表。

property operator_names

返回所有已注册算子的名称,以字符串集合形式呈现。

class executorch.runtime.Program(module, data)[source]

从二进制 PTE 数据加载的 ExecuTorch 程序。

这可用于加载程序定义的方法或模型。

load_method(name)[source]

从程序中加载一个方法。

Parameters

name – 要加载的方法名称。

Returns

已加载的方法。

property method_names

以字符串集合的形式返回Program的方法名称。

class executorch.runtime.Method(method_name, module)[source]

从 Program 加载的 ExecuTorch 方法。 此方法可用于使用输入执行该操作。

execute(inputs)[source]

使用给定的输入执行该方法。

Parameters

inputs – 方法的输入参数。

Returns

该方法的输出。

property metadata

获取该方法的元数据。

Returns

该方法的元数据。

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源