Skip to main content

Combined Model Explorer extension package for ExecuTorch PTE, ETRecord, and ETDump artifacts

Project description

ExecuTorch Extension Model Explorer

ExecuTorch Extension Model Explorer is a combined extension package for Model Explorer. It registers adapters and data providers for inspecting ExecuTorch model artifacts and profiling data in one package:

Supported File Types

File type Component Purpose
.pte PTE Adapter Visualize ExecuTorch program files.
.etrecord ETRecord Adapter Visualize exported ExecuTorch graph structure and metadata.
.etdp, .etdump ETDump Profiling Overlay Add per-node runtime latency data to ETRecord graphs.

Requirements

  • Python >=3.10, <3.13
  • Model Explorer, provided by ai-edge-model-explorer
  • ExecuTorch Python packages for ETRecord and ETDump workflows
  • PTE delegate support packages declared by this project: vgf-adapter-model-explorer, tosa-adapter-model-explorer, and flatbuffers

Installation

For local development from this repository:

scripts/install-editable.sh

Install the published package from PyPI:

pip install executorch-extension-model-explorer

Usage

Launch Model Explorer with this combined extension package enabled:

model-explorer --extensions=executorch_extension_model_explorer

To load individual adapters or providers, pass the extension names directly:

model-explorer --extensions=pte_adapter_model_explorer
model-explorer --extensions=etrecord_adapter_model_explorer
model-explorer --extensions=etrecord_adapter_model_explorer,etdump_data_provider_model_explorer

PTE Adapter

Open a .pte file in Model Explorer to inspect the ExecuTorch program. The PTE adapter includes delegate support for Arm Ethos-U, Arm VGF, and XNNPACK. See the PTE adapter documentation for details and schema regeneration notes.

ETRecord Adapter

Open an .etrecord file in Model Explorer to inspect exported ExecuTorch graph structure, metadata, connections, inputs, and outputs. See the ETRecord adapter documentation for details.

ETDump Data Provider

After opening an .etrecord graph, click Add per-node data, select ETDump Profiling Overlay, upload an .etdp or .etdump file, and run the provider. The overlay maps runtime latency metrics onto matching ETRecord graph nodes. See the ETDump data provider documentation for details and mock artifact tooling.

Development

Install the package in editable mode, then run the test suite with pytest:

scripts/install-editable.sh
scripts/test-all.sh

For coordinated development across all leaf repos, keep the adapter repositories as sibling checkouts and install them in editable mode before the umbrella package:

scripts/install-local-adapters.sh

The umbrella wheel uses the package versions pinned in pyproject.toml. Local adapter checkouts are for multi-repo development and adapter-specific testing; they are not the release pin.

Run adapter-specific tests from each adapter repository root so their local fixtures and pytest configuration are resolved correctly.

Development dependency groups are declared in pyproject.toml for test, coverage, lint, type-checking, and build tools.

CI

Pull requests and pushes to main run the aggregate CI workflow. It installs this package in editable mode, then runs Ruff, Pyright, and the aggregate pytest suite. The workflow also builds a wheel after tests pass.

Pushes to main publish an internal development build to the configured internal PyPI/Artifactory repository. Release tags matching v*.*.* publish to public PyPI and create a GitHub release.

Use the Trigger Release workflow to cut a release from the private repository. It calculates the next version with git-cliff, updates pyproject.toml, pushes the version bump commit, and pushes the release tag. The tag push then triggers the publish path.

Dependency update policy

This repository pins the three adapter/provider packages in pyproject.toml. By default, update those dependency versions only when a leaf package is released, not after every merge to a leaf repository.

Use the helper script for local dependency pin updates:

python scripts/update-dependency-pin.py etrecord-adapter-model-explorer v0.2.0

The same update can be automated through the Update dependency pin workflow. Leaf release workflows can trigger it with a repository_dispatch event named update-dependency and a payload containing dependency or name, plus version or tag. The workflow also accepts the old update-submodule dispatch name for compatibility, but it now updates pyproject.toml.

Trademark Notice

This project uses some of the Arm product, service, or technology trademarks, as listed in the Trademark List, in accordance with the Arm Trademark Use Guidelines.

Subsequent uses of these trademarks throughout this repository do not need to be prefixed with the Arm word trademark.

Contributions

We are not accepting direct contributions at this time. If you have feedback or feature requests, please use the repository issues section.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

executorch_extension_model_explorer-0.1.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file executorch_extension_model_explorer-0.1.0.tar.gz.

File metadata

File hashes

Hashes for executorch_extension_model_explorer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8c65d4a990e0e82649dace1b77753722f1a424a39c02cb9443e17bddd07c568e
MD5 795209c7334bf6f7a47099ba388fd408
BLAKE2b-256 4fb06ffbdd49b174364aff89f3424c915852bd256210d785c034fbe53bcf990b

See more details on using hashes here.

Provenance

The following attestation bundles were made for executorch_extension_model_explorer-0.1.0.tar.gz:

Publisher: ci.yml on arm/executorch-extension-model-explorer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file executorch_extension_model_explorer-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for executorch_extension_model_explorer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bbb5d48768eb308c05e7c4cb43004b15d975b06f50dc3f9cb9c6737fde848eab
MD5 d992515e1f233cbb562b69ba2617962e
BLAKE2b-256 23a28d39617ad09d2ac4ee626c089d7bb749a079cc3a154e31c9929669cc5035

See more details on using hashes here.

Provenance

The following attestation bundles were made for executorch_extension_model_explorer-0.1.0-py3-none-any.whl:

Publisher: ci.yml on arm/executorch-extension-model-explorer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page