MLIA PyTorch Converter Plugin
This repository contains the MLIA converter plugins that translate PyTorch-based models into artifacts consumed by downstream MLIA backends and target flows.
The package is distributed as mlia-converters-pytorch. When installed, it
registers the transformer names nn_module_to_pt2, pt2_to_tosa,
pt2_to_pte, and pte_to_delegate with MLIA through the plugin entry-point
system.
Table of Contents
- Overview
- Repository contents
- Installation
- How MLIA uses this plugin
- Reporting bugs
- Development (uv)
- Documentation
- Releases
- License
- Trademarks and copyrights
Overview
This plugin package provides the conversion bridge between PyTorch export flows and downstream MLIA backends. Today that means four main routes:
torch.nn.Moduleto.pt2for Python API flows that start from an in-memory PyTorch module..pt2to TOSA for flows that consume TOSA artifacts..pt2to PTE for flows that consume ExecuTorch.pteartifacts..pteto delegate payload for flows that extract the TOSA or VGF backend artifact stored inside the.ptefile.
The implementation packages live under:
src/mlia/backend/mlia_nn_module_to_pt2_exporter/src/mlia/backend/mlia_pytorch_to_tosa_converter/src/mlia/backend/mlia_pytorch_to_pte_converter/src/mlia/backend/mlia_pte_to_delegate_converter/
Together they include conversion logic, converter registration, and backend installation metadata used by MLIA.
Repository contents
src/mlia/backend/mlia_pytorch_to_tosa_converter/: TOSA conversion package and plugin registration.src/mlia/backend/mlia_nn_module_to_pt2_exporter/: in-memorytorch.nn.Moduleexport package and plugin registration.src/mlia/backend/mlia_pytorch_to_pte_converter/: PTE conversion package and plugin registration.src/mlia/backend/mlia_pte_to_delegate_converter/: PTE delegate payload extraction package and plugin registration.tests/: unit tests for converter registration and conversion behaviour.pre_commit_hooks/: local repository hooks shared with CI quality checks.pyproject.toml: package dependencies and build configuration.
Installation
Install the package into an environment that already contains mlia:
pip install mlia-converters-pytorch
For source-based development with uv:
uv sync --group dev
The project supports the Python versions declared in pyproject.toml and
installs the PyTorch-side dependencies listed there, including torch,
executorch, and torchao.
How MLIA uses this plugin
MLIA discovers this repository through the mlia.plugin.transformer entry
point. When installed, the package registers four transformer names:
nn_module_to_pt2pt2_to_tosapt2_to_ptepte_to_delegate
The package and transformers use different names:
nn_module_to_pt2,pt2_to_tosa,pt2_to_pte, andpte_to_delegateare the transformer names used in MLIA configuration and API or CLI flows.mlia_pytorch_to_tosa_converterandmlia_pytorch_to_pte_converterare the implementation package names used in the codebase.
That means downstream MLIA components can:
- Discover the transformers without hard-coded import paths.
- Request PyTorch module export, PyTorch-to-TOSA, PyTorch-to-PTE, or PTE-to-delegate transformations through the shared transformer registry.
- Treat the transformers as a separately versioned plugin package.
For more implementation detail, see docs/README.md.
Reporting bugs
Report bugs by creating GitHub issues. Use the
arm/mlia issue tracker by default.
Only open an issue in
arm/mlia-converters-pytorch
when the bug is clearly and specifically in this PyTorch converter plugin.
Development (uv)
This repository uses uv for environment management and test execution. Ensure
the Python version in .python-version is available, then install dependencies:
uv sync --group dev
Run unit tests (uses dependencies installed from the package index, including mlia):
uv run pytest --no-success-flaky-report tests/
Run a quick test subset:
uv run pytest --no-success-flaky-report -m "not slow" tests/
Lint checks:
uv run pre-commit run --all-files
Build a wheel:
uv build --wheel
Documentation
- Documentation overview: how to build and preview the docs.
- Usage and integration: transformer names, MLIA discovery, and route selection.
- Conversion flow: what each converter route does.
- CLI integration: how this package relates to
mlia check. - Troubleshooting: common converter failures and debug steps.
Releases
Latest changes and release history can be found in MLIA PyTorch Converter releases.
License
This project is licensed under the Apache License 2.0. See
LICENSES/Apache-2.0.txt for the full license text.
Trademarks and copyrights
- Arm and Arm Ethos-U are registered trademarks or trademarks of Arm Limited (or its subsidiaries) in the U.S. and/or elsewhere.
- PyTorch and ExecuTorch are trademarks of The Linux Foundation.
- Linux is the registered trademark of Linus Torvalds in the U.S. and elsewhere.
- Python is a registered trademark of the PSF.
Release files for mlia-converters-pytorch 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mlia_converters_pytorch-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / mlia_converters_pytorch-0.1.1-py3-none-any.whl
| Download URL | mlia_converters_pytorch-0.1.1-py3-none-any.whl |
|---|---|
| Size | 23.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e9213b9165658d93ac31355288a8d029ad5a86d30bf246fbf1831dc1cd7b0a29
|
|
BLAKE2b-256 checksum How to use checksums |
e7a79b239e61520fc6adbba5bf774e46d19bd486e63d094eef80606e2b325a3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|