Skip to content

[pybind] Add pybind API reference docs #6276

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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::
Expand Down
18 changes: 18 additions & 0 deletions docs/source/runtime-python-api-reference.rst
Original file line number Diff line number Diff line change
@@ -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 <tutorials/export-to-executorch-tutorial.html>`__ 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 <api-life-cycle.html>`__.

.. 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
16 changes: 11 additions & 5 deletions runtime/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand All @@ -28,6 +28,7 @@
print(f" outputs: {outputs}")

Example output:

.. code-block:: text

Program methods: ('forward', 'forward2')
Expand Down Expand Up @@ -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]:
Expand All @@ -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())


Expand Down
Loading