{"id":13705081,"url":"https://github.com/arm-software/armnn","last_synced_at":"2026-01-23T13:08:15.753Z","repository":{"id":37431737,"uuid":"124536178","full_name":"ARM-software/armnn","owner":"ARM-software","description":"Arm NN ML Software. The code here is a read-only mirror of https://review.mlplatform.org/admin/repos/ml/armnn","archived":false,"fork":false,"pushed_at":"2025-04-01T15:12:44.000Z","size":443641,"stargazers_count":1246,"open_issues_count":3,"forks_count":320,"subscribers_count":89,"default_branch":"branches/armnn_25_02","last_synced_at":"2025-04-05T10:01:56.967Z","etag":null,"topics":["machine-learning","neural-network","neural-networks"],"latest_commit_sha":null,"homepage":"https://developer.arm.com/products/processors/machine-learning/arm-nn","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ARM-software.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS-TensorFlow","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-09T12:11:48.000Z","updated_at":"2025-03-26T19:26:48.000Z","dependencies_parsed_at":"2023-02-13T00:16:00.172Z","dependency_job_id":"87376a24-e461-4775-8221-519db542afef","html_url":"https://github.com/ARM-software/armnn","commit_stats":{"total_commits":3647,"total_committers":105,"mean_commits":"34.733333333333334","dds":0.8812722785851385,"last_synced_commit":"3ed70c005559d409feff2c578a1a39cf8fec8804"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2Farmnn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2Farmnn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2Farmnn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2Farmnn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ARM-software","download_url":"https://codeload.github.com/ARM-software/armnn/tar.gz/refs/heads/branches/armnn_25_02","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248567814,"owners_count":21125904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","neural-network","neural-networks"],"created_at":"2024-08-02T22:00:31.264Z","updated_at":"2026-01-23T13:08:15.682Z","avatar_url":"https://github.com/ARM-software.png","language":"C++","readme":"\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"Arm_NN_horizontal_blue.png\" alt=\"Arm NN Logo\" width=\"300\"/\u003e\n\u003c/div\u003e\n\n* [Quick Start Guides](#quick-start-guides)\n* [Pre-Built Binaries](#pre-built-binaries)\n* [Software Overview](#software-overview)\n* [Get Involved](#get-involved)\n* [Contributions](#contributions)\n* [Disclaimer](#disclaimer)\n* [License](#license)\n* [Third-Party](#third-party)\n* [Build Flags](#build-flags)\n\n# Arm NN\n\n**Arm NN** is the **most performant** machine learning (ML) inference engine for Android and Linux, accelerating ML\non **Arm Cortex-A CPUs and Arm Mali GPUs**. This ML inference engine is an open source SDK which bridges the gap\nbetween existing neural network frameworks and power-efficient Arm IP.\n\nArm NN outperforms generic ML libraries due to **Arm architecture-specific optimizations** (e.g. SVE2) by utilizing\n**[Arm Compute Library (ACL)](https://github.com/ARM-software/ComputeLibrary/)**. To target Arm Ethos-N NPUs, Arm NN\nutilizes the [Ethos-N NPU Driver](https://github.com/ARM-software/ethos-n-driver-stack). For Arm Cortex-M acceleration,\nplease see [CMSIS-NN](https://github.com/ARM-software/CMSIS_5).\n\nArm NN is written using portable **C++17** and built using [CMake](https://cmake.org/) - enabling builds for a wide\nvariety of target platforms, from a wide variety of host environments. **Python** developers can interface with Arm NN\nthrough the use of our **Arm NN TF Lite Delegate**.\n\n\n## Quick Start Guides\n**The Arm NN TF Lite Delegate provides the widest ML operator support in Arm NN** and is an easy way to accelerate\nyour ML model. To start using the TF Lite Delegate, first download the **[Pre-Built Binaries](#pre-built-binaries)** for\nthe latest release of Arm NN. Using a Python interpreter, you can load your TF Lite model into the Arm NN TF Lite\nDelegate and run accelerated inference. Please see this\n**[Quick Start Guide](delegate/DelegateQuickStartGuide.md)** on GitHub or this more comprehensive\n**[Arm Developer Guide](https://developer.arm.com/documentation/102561/latest/)** for information on how to accelerate\nyour TF Lite model using the Arm NN TF Lite Delegate.\n\nWe provide Debian packages for Arm NN, which are a quick way to start using Arm NN and the TF Lite Parser\n(albeit with less ML operator support than the TF Lite Delegate). There is an installation guide available\n[here](InstallationViaAptRepository.md) which provides instructions on how to install the Arm NN Core and the TF Lite\nParser for Ubuntu 20.04.\n\nTo build Arm NN from scratch, we provide the **[Arm NN Build Tool](build-tool/README.md)**. This tool consists of\n**parameterized bash scripts** accompanied by a **Dockerfile** for building Arm NN and its dependencies, including\n**[Arm Compute Library (ACL)](https://github.com/ARM-software/ComputeLibrary/)**. This tool replaces/supersedes the\nmajority of the existing Arm NN build guides as a user-friendly way to build Arm NN. The main benefit of building\nArm NN from scratch is the ability to **exactly choose which components to build, targeted for your ML project**.\u003cbr\u003e\n\n\n## Pre-Built Binaries\n\n| Operating System                              | Architecture-specific Release Archive (Download)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |\n|-----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Android 11 \"R/Red Velvet Cake\" (API level 30) | [![](https://img.shields.io/badge/download-arm64--v82a-orange)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-30-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8a-orange)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-30-arm64-v8a.tar.gz)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |\n| Android 12 \"S/Snow Cone\" (API level 31)       | [![](https://img.shields.io/badge/download-arm64--v82a-yellow)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-31-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8a-yellow)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-31-arm64-v8a.tar.gz)  [![](https://img.shields.io/badge/download-arm64--v86a-yellow)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-31-arm64-v8.6-a.tar.gz)  [![](https://img.shields.io/badge/download-arm64--v86asve-yellow)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-31-arm64-v8.6-a-sve.tar.gz) [![](https://img.shields.io/badge/download-arm64--v86asve2-yellow)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-31-arm64-v8.6-a-sve2.tar.gz) |\n| Android 13 \"T/Tiramisu\" (API level 33)        | [![](https://img.shields.io/badge/download-arm64--v82a-purple)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-33-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v86a-purple)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-33-arm64-v8.6-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v86asve-purple)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-33-arm64-v8.6-a-sve.tar.gz) [![](https://img.shields.io/badge/download-arm64--v86asve2-purple)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-33-arm64-v8.6-a-sve2.tar.gz)                                                                                                                                                                    |\n| Android 14 \"U/Upside Down Cake\" (API level 34)| [![](https://img.shields.io/badge/download-arm64--v82a-blue)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-34-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v86a-blue)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-34-arm64-v8.6-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v86asve-blue)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-34-arm64-v8.6-a-sve.tar.gz) [![](https://img.shields.io/badge/download-arm64--v86asve2-blue)](https://github.com/ARM-software/armnn/releases/download/v24.11/ArmNN-android-34-arm64-v8.6-a-sve2.tar.gz)                                                                                                                                                                            |\n\nArm NN also provides pre-built multi-isa binaries for Android. The v8a binary includes support from basic v8a architecture and upwards. \nThe v8.2a binary includes support from v8.2a and upwards. These include support for SVE, SVE2, FP16 and some dot product kernels.\nThese kernels need appropriate hardware to work on.\n\n\n| Multi ISA Architecture | Release Archive (Download)                                                                                                                                                              |\n|------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Linux Arm v8a          | [![](https://img.shields.io/badge/download-arm64--v8a-pink)](https://github.com/ARM-software/armnn/releases/download/v24.11/MULTI_ISA-GCC11-ArmNN+ACL-linux-armv8a.tar.gz)              |\n| Linux Arm v8.2a        | [![](https://img.shields.io/badge/download-arm64--v82a-violet)](https://github.com/ARM-software/armnn/releases/download/v24.11/MULTI_ISA-GCC11-ArmNN+ACL-linux-armv8.2-a.tar.gz)        |\n| Android 31 v8a         | [![](https://img.shields.io/badge/download-android--v8a-tan)](https://github.com/ARM-software/armnn/releases/download/v24.11/MULTI_ISA-ArmNN+ACL+SL-android-31-arm64-v8a.tar.gz)        |\n| Android 31 v8.2a       | [![](https://img.shields.io/badge/download-android--v82a-indigo)](https://github.com/ARM-software/armnn/releases/download/v24.11/MULTI_ISA-ArmNN+ACL+SL-android-31-arm64-v8.2-a.tar.gz) |\n\n\n\n## Software Overview\nThe Arm NN SDK supports ML models in **TensorFlow Lite** (TF Lite) and **ONNX** formats.\n\n**Arm NN's TF Lite Delegate** accelerates TF Lite models through **Python or C++ APIs**. Supported TF Lite operators\nare accelerated by Arm NN and any unsupported operators are delegated (fallback) to the reference TF Lite runtime -\nensuring extensive ML operator support. **The recommended way to use Arm NN is to\n[convert your model to TF Lite format](https://www.tensorflow.org/lite/convert) and use the TF Lite Delegate.** Please\nrefer to the [Quick Start Guides](#quick-start-guides) for more information on how to use the TF Lite Delegate.\n\nArm NN also provides **TF Lite and ONNX parsers** which are C++ libraries for integrating TF Lite or ONNX models\ninto your ML application. Please note that these parsers do not provide extensive ML operator coverage as compared\nto the Arm NN TF Lite Delegate.\n\n**Android** ML application developers have a number of options for using Arm NN:\n* Download and use our [Pre-Built Binaries](#pre-built-binaries) for the Android platform\n* Build Arm NN from scratch with the Android NDK using this [GitHub guide](BuildGuideAndroidNDK.md)\n\nArm also provides an [Android-NN-Driver](https://github.com/ARM-software/android-nn-driver) which implements a\nhardware abstraction layer (HAL) for the Android NNAPI. When the Android NN Driver is integrated on an Android device,\nML models used in Android applications will automatically be accelerated by Arm NN.\n\n**For more information about the Arm NN components, please refer to our\n[documentation](https://github.com/ARM-software/armnn/wiki/Documentation).**\n\nArm NN is a key component of the [machine learning platform](https://mlplatform.org/), which is part of the\n[Linaro Machine Intelligence Initiative](https://www.linaro.org/news/linaro-announces-launch-of-machine-intelligence-initiative/).\n\nFor FAQs and troubleshooting advice, see the [FAQ](docs/FAQ.md) or take a look at previous\n[GitHub Issues](https://github.com/ARM-software/armnn/issues).\n\n\n## Get Involved\nThe best way to get involved is by using our software. If you need help or encounter an issue, please raise it as a\n[GitHub Issue](https://github.com/ARM-software/armnn/issues). Feel free to have a look at any of our open issues too.\nWe also welcome feedback on our documentation.\n\nFeature requests without a volunteer to implement them are closed, but have the 'Help wanted' label, these can be\nfound [here](https://github.com/ARM-software/armnn/issues?q=is%3Aissue+label%3A%22Help+wanted%22+).\nOnce you find a suitable Issue, feel free to re-open it and add a comment, so that Arm NN engineers know you are\nworking on it and can help.\n\nWhen the feature is implemented the 'Help wanted' label will be removed.\n\n\n## Contributions\nThe Arm NN project welcomes contributions. For more details on contributing to Arm NN please see the\n[Contributing page](https://mlplatform.org/contributing/) on the [MLPlatform.org](https://mlplatform.org/) website,\nor see the [Contributor Guide](CONTRIBUTING.md).\n\nParticularly if you'd like to implement your own backend next to our CPU, GPU and NPU backends there are guides for\nbackend development: [Backend development guide](src/backends/README.md),\n[Dynamic backend development guide](src/dynamic/README.md).\n\n\n## Disclaimer\nThe armnn/tests directory contains tests used during Arm NN development. Many of them depend on third-party IP, model\nprotobufs and image files not distributed with Arm NN. The dependencies for some tests are available freely on\nthe Internet, for those who wish to experiment, but they won't run out of the box.\n\n\n## License\nArm NN is provided under the [MIT](https://spdx.org/licenses/MIT.html) license.\nSee [LICENSE](LICENSE) for more information. Contributions to this project are accepted under the same license.\n\nIndividual files contain the following tag instead of the full license text.\n\n    SPDX-License-Identifier: MIT\n\nThis enables machine processing of license information based on the SPDX License Identifiers that are available\nhere: http://spdx.org/licenses/\n\n\n## Inclusive language commitment\nArm NN conforms to Arm's inclusive language policy and, to the best of our knowledge, does not contain any non-inclusive language.\n\nIf you find something that concerns you, please email terms@arm.com\n\n\n## Third-party\nThird party tools used by Arm NN:\n\n| Tool           | License (SPDX ID) | Description                    | Version | Provenience                          |\n|----------------|-------------------|------------------------------------------------------------------|---------|--------------------------------------|\n| cxxopts        | MIT               | A lightweight C++ option parser library | 3.1.1   | https://github.com/jarro2783/cxxopts |\n| doctest        | MIT               | Header-only C++ testing framework | 2.4.6   | https://github.com/onqtam/doctest    |\n| fmt            | MIT               | {fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams. | 8.30    | https://github.com/fmtlib/fmt  |\n| ghc            | MIT               | A header-only single-file std::filesystem compatible helper library | 1.3.2   | https://github.com/gulrak/filesystem |\n| half           | MIT               | IEEE 754 conformant 16-bit half-precision floating point library | 1.12.0  | http://half.sourceforge.net          |\n| mapbox/variant | BSD               | A header-only alternative to 'boost::variant' | 1.1.3   | https://github.com/mapbox/variant    |\n| stb            | MIT               | Image loader, resize and writer | 2.16    | https://github.com/nothings/stb      |\n\n\n## Build Flags\nArm NN uses the following security related build flags in their code:\n\n| Build flags\t      |\n|---------------------|\n| -Wall\t              |\n| -Wextra             |\n| -Wold-style-cast    |\n| -Wno-missing-braces |\n| -Wconversion        |\n| -Wsign-conversion   |\n| -Werror             |\n","funding_links":[],"categories":["微处理器 MPU 端"],"sub_categories":["ARM NN"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farm-software%2Farmnn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farm-software%2Farmnn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farm-software%2Farmnn/lists"}