From 1cb962e8bf044333be21159e4b1ce595273cc8a3 Mon Sep 17 00:00:00 2001 From: Mengwei Liu Date: Wed, 16 Oct 2024 20:11:00 -0700 Subject: [PATCH] Add pybind API reference docs (#6276) Summary: [pybind] Add pybind API reference docs As titled Test Plan: https://docs-preview.pytorch.org/pytorch/executorch/6276/runtime-python-api-reference.html Reviewed By: dbort Differential Revision: D64449105 Pulled By: larryliu0820 --- docs/source/index.rst | 1 + docs/source/runtime-python-api-reference.rst | 18 ++++++++++++++++++ runtime/__init__.py | 16 +++++++++++----- 3 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 docs/source/runtime-python-api-reference.rst diff --git a/docs/source/index.rst b/docs/source/index.rst index cf54fa24774..0f8ebedd9f3 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -135,6 +135,7 @@ Topics in this section will help you get started with ExecuTorch. export-to-executorch-api-reference executorch-runtime-api-reference + runtime-python-api-reference api-life-cycle .. toctree:: diff --git a/docs/source/runtime-python-api-reference.rst b/docs/source/runtime-python-api-reference.rst new file mode 100644 index 00000000000..64c135de8c8 --- /dev/null +++ b/docs/source/runtime-python-api-reference.rst @@ -0,0 +1,18 @@ +ExecuTorch Runtime Python API Reference +---------------------------------- +The Python ``executorch.runtime`` module wraps the C++ ExecuTorch runtime. It can load and execute serialized ``.pte`` program files: see the `Export to ExecuTorch Tutorial `__ for how to convert a PyTorch ``nn.Module`` to an ExecuTorch ``.pte`` program file. Execution accepts and returns ``torch.Tensor`` values, making it a quick way to validate the correctness of the program. + +For detailed information on how APIs evolve and the deprecation process, please refer to the `ExecuTorch API Life Cycle and Deprecation Policy `__. + +.. automodule:: executorch.runtime +.. autoclass:: Runtime + :members: get, load_program + +.. autoclass:: OperatorRegistry + :members: operator_names + +.. autoclass:: Program + :members: method_names, load_method + +.. autoclass:: Method + :members: execute, metadata diff --git a/runtime/__init__.py b/runtime/__init__.py index 80ffeeba03c..4ed99ddae01 100644 --- a/runtime/__init__.py +++ b/runtime/__init__.py @@ -4,15 +4,15 @@ # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. -"""Interface to the native C++ ExecuTorch runtime. - +""" Example usage: -.. code-block:: text + +.. code-block:: python from pathlib import Path import torch - from executorch.runtime import Verification, Runtime + from executorch.runtime import Verification, Runtime, Program, Method et_runtime: Runtime = Runtime.get() program: Program = et_runtime.load_program( @@ -28,6 +28,7 @@ print(f" outputs: {outputs}") Example output: + .. code-block:: text Program methods: ('forward', 'forward2') @@ -107,6 +108,9 @@ def __init__(self, module: ExecuTorchModule, data: Optional[bytes]) -> None: @property def method_names(self) -> Set[str]: + """ + Returns method names of the `Program` as a set of strings. + """ return set(self._methods.keys()) def load_method(self, name: str) -> Optional[Method]: @@ -130,7 +134,9 @@ def __init__(self, legacy_module: ModuleType) -> None: @property def operator_names(self) -> Set[str]: - """The names of all registered operators.""" + """ + Returns the names of all registered operators as a set of strings. + """ return set(self._legacy_module._get_operator_names())