Skip to main content

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

This plugin package provides the conversion bridge between PyTorch export flows and downstream MLIA backends. Today that means four main routes:

  • torch.nn.Module to .pt2 for Python API flows that start from an in-memory PyTorch module.
  • .pt2 to TOSA for flows that consume TOSA artifacts.
  • .pt2 to PTE for flows that consume ExecuTorch .pte artifacts.
  • .pte to delegate payload for flows that extract the TOSA or VGF backend artifact stored inside the .pte file.

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-memory torch.nn.Module export 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_pt2
  • pt2_to_tosa
  • pt2_to_pte
  • pte_to_delegate

The package and transformers use different names:

  • nn_module_to_pt2, pt2_to_tosa, pt2_to_pte, and pte_to_delegate are the transformer names used in MLIA configuration and API or CLI flows.
  • mlia_pytorch_to_tosa_converter and mlia_pytorch_to_pte_converter are 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

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)

Table of built distributions (wheels) for mlia-converters-pytorch 0.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page