These are the release notes for all MLIA releases. They document all of the main feature changes, interface changes and issues that have been fixed.
The version numbering adheres to the semantic versioning scheme.
- Arm®, Cortex®-A, Ethos™-U, Corstone™ are registered trademarks or trademarks of Arm® Limited (or its subsidiaries) in the U.S. and/or elsewhere.
- TensorFlow™ is a trademark of Google® LLC.
- Removed ArmNN TensorFlow Lite Delegate backend: The deprecated
armnn-tflite-delegatebackend has been completely removed from MLIA. This backend relied on an unmaintained project and was no longer actively supported. - Removed Cortex-A target profile: The
cortex-atarget profile has been removed as it was solely dependent on the removed ArmNN TensorFlow Lite Delegate backend.
- Minimum required Python version bumped to 3.10
- Minimum required TensorFlow version bumped to 2.20
- Add Ethos-U85 support via Corstone-320
- Corstone-300/310 available on AArch64 and x86
- Move Vela to a separate backend
- Rewrite improvements (proof-of-concept feature):
- Add kernel size to user parameter list for conv2D rewrites
- Add support for rewrite-specific parameters
- Add support for unstructured polynomial decay pruning rewrites
- Allow the user to specify an activation function for conv2d rewrites
- CLI and API changes for the new conv2d rewrite targets
- Enable clustering and fully connected rewrites for conv2D layers
- Enable Depthwise Separable conv2d rewrites
- Enable random data usage if no dataset is provided
- Enable user to specify augmentations via the --optimization-profile
- Implement a clustering rewrite for fully connected layers for int8 models
- Implement int8/fp32 sparsity 2:4 rewrite
- Improve testing coverage
- Fix lint issues, issues found by new tests and more
- Remove activation layer for conv rewrites when none is specified
- Fixe MAE discrepancies of rewrites
- Project has moved from mlplatforms to github
- Update python dependencies
- Add backend dependencies handling.
- Dependencies updated (Tensorflow 2.15,)
-
ArmNN TensorFlow Lite Delegate backend deprecation: The ArmNN TensorFlow Lite Delegate backend (
armnn-tflite-delegate) is now deprecated and will be removed in the next major release. This backend relies on an unmaintained project and is no longer actively supported. Deprecation warnings will be displayed when using this backend. -
TOSA Checker backend deprecation: The TOSA Checker Backend (
tosa-checker) is now deprecated. This backend relies on an unmaintained project and is no longer actively supported. Deprecation warnings will be displayed when using this backend.
- Improve error handling for invalid file
- Fix PytestCollectionWarning in unit tests
- Capture and handle Vela warning when model is too big
- Fix default backend validation
- Fix invalid artifacts from TensorFlow logging in the JSON output
- Support batch size > 1 for optimizations
- New optimization type 'rewrite' (proof-of-concept implementation to be extended)
- Integrate Vela's per-layer performance estimates
- Minimum required Python version bumped to 3.9
- Dependencies updated (Vela 3.10, TensorFlow 2.14 and more)
- Pre-commit and tox dependencies updated
- Add linters/checkers for TOML files to pre-commits
- Add flaky dependency for unstable tests
- Update the operator list of TensorFlow Lite Delegate for Arm NN 23.05 (MLIA-881)
- Generalize installation routines for backends by using registry (MLIA-825)
- Add contribution guidelines
- Update Vela (MLIA-757) and mypy (MLIA-849) dependencies
- Have the TFLite compability check display tables for all targets (MLIA-711)
- The test_cluster_simple_model_fully test case in test_nn_tensorflow_optimizations_pruning.py has proved to fail sporadically for stochastic reasons, due to a threshold not being met. Re-running the test will help. We are yet to find a more deterministic approach to run the test, and in the meantime we classify it as a known issue.
- Add metadata to the output console display and json file (MLIA-741/2 and MLIA-775)
- Support using TOML format for target profile and loading custom target profiles (MLIA-590)
- Support displaying a table of supported targets, backends and advice in the help text (MLIA-737)
- Breaking change: Implement new CLI changes (MLIA-650)
- Create an interface to load/save/verify target profiles (MLIA-591)
- Remove the --output parameter (MLIA-782)
- Add the CLI parameter --output-dir (MLIA-461)
- Fix issues so that all available backends can be listed using CLI (MLIA-770)
- Provide a command for backend installation when it is not available and fix the issue of connection timeout (MLIA-460)
- Update the compatibility list of TensorFlow Lite delegates operators for Arm NN 22.11 (MLIA-709)
- Expand the use of target/backend registries to avoid hardcoded names and cache target profiles (MLIA-769)
- Create an API to get target information (MLIA-589)
- Remove previous backend configuration mechanism (MLIA-595)
- Upgrade dependencies with Vela 3.6 (MLIA-669)
- Move tosa-checker functions into a separate module
- Migrate e2e tests to tox (MLIA-676)
- Add TensorFlow Lite compatibility check for Cortex-A (MLIA-433)
- Add operator compatibility for Cortex-A (MLIA-411)
- Remove support for CSV output (MLIA-275)
- Add "mlia-backend" command for managing backends (MLIA-649)
- Add performance for Ethos-U65-256 target profile (MLIA-618)
- Fix hyperlinks in README.md (MLIA-630)
- Fix TOSA checker dependency (MLIA-622)
- Fix backend install for Corstone-300 on AVH/VHT (MLIA-647)
- Fix --supported-ops-report flag (MLIA-688)
- Update generic inference runner to 22.08 (MLIA-671)
- Use importlib for getting package version (MLIA-670)
- Make python syntax consistent across codebase
- Use tox to run additional project tasks (MLIA-571)
- Simplify typing in the source code (MLIA-386)
- Define incident response plan (MLIA-496)
- Enable testing for aarch64 (MLIA-584/MLIA-599)
- TOSA operator compatibility might raise a few errors after "Checking operator compatibility". These are known errors due to some issues present in TensorFlow 2.9 but they don't affect the correct result of the operator compatibility (MLIA-722/MLIA-723). This will be fixed in a future release of MLIA.
- Add TOSA operator compatibility via tosa-checker python package (MLIA-548/549/579)
- Update CLI to allow the usage of the TOSA checker (MLIA-550).
- Fix the issue that no performance information is shown for TensorFlow Lite files when the mode 'all_tests' is used (MLIA-552)
- Specify cache arena size in the Vela memory profiles (MLIA-316)
- Merge the deprecated AIET interface for backend execution into MLIA (MLIA-546/551)
- Add pre-commit configuration (MLIA-529)
- Upgrade Vela version from 3.3.0 to 3.4.0 (MLIA-507)
- Update TensorFlow to version 2.8 (MLIA-569)
-
Ethos-U operator compatibility, performance estimation and optimization advice
-
Arm IP support:
- Ethos-U55 via Corstone-300 and Corstone-310
- Ethos-U65 via Corstone-300
Note: Corstone-310 is available on AVH only.