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:
PTEAdaptervisualizes.ptemodel files.ETRecordAdaptervisualizes.etrecordgraph files.ETDumpProfilingOverlayProvideroverlays runtime profiling data from.etdpor.etdumpfiles onto ETRecord graphs.
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, andflatbuffers
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file executorch_extension_model_explorer-0.1.0.tar.gz.
File metadata
- Download URL: executorch_extension_model_explorer-0.1.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c65d4a990e0e82649dace1b77753722f1a424a39c02cb9443e17bddd07c568e
|
|
| MD5 |
795209c7334bf6f7a47099ba388fd408
|
|
| BLAKE2b-256 |
4fb06ffbdd49b174364aff89f3424c915852bd256210d785c034fbe53bcf990b
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
executorch_extension_model_explorer-0.1.0.tar.gz -
Subject digest:
8c65d4a990e0e82649dace1b77753722f1a424a39c02cb9443e17bddd07c568e - Sigstore transparency entry: 2163940985
- Sigstore integration time:
-
Permalink:
arm/executorch-extension-model-explorer@0bd2e04715cf54ffa549b575b912d61b87e49e5d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/arm
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@0bd2e04715cf54ffa549b575b912d61b87e49e5d -
Trigger Event:
push
-
Statement type:
File details
Details for the file executorch_extension_model_explorer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: executorch_extension_model_explorer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbb5d48768eb308c05e7c4cb43004b15d975b06f50dc3f9cb9c6737fde848eab
|
|
| MD5 |
d992515e1f233cbb562b69ba2617962e
|
|
| BLAKE2b-256 |
23a28d39617ad09d2ac4ee626c089d7bb749a079cc3a154e31c9929669cc5035
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
executorch_extension_model_explorer-0.1.0-py3-none-any.whl -
Subject digest:
bbb5d48768eb308c05e7c4cb43004b15d975b06f50dc3f9cb9c6737fde848eab - Sigstore transparency entry: 2163941120
- Sigstore integration time:
-
Permalink:
arm/executorch-extension-model-explorer@0bd2e04715cf54ffa549b575b912d61b87e49e5d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/arm
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@0bd2e04715cf54ffa549b575b912d61b87e49e5d -
Trigger Event:
push
-
Statement type: