<!-- Copyright (c) 2020 ARM Limited. -->
<!--                                 -->
<!-- SPDX-License-Identifier: MIT    -->
<!--                                 -->
<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">23.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('index.xhtml',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="PageDoc"><div class="header">
  <div class="headertitle">
<div class="title">ArmNN Documentation</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><br  />
 </p><div align="center"> <img src="Arm_NN_horizontal_blue.png" alt="Arm NN Logo" class="center" width="300"/> </div><ul>
<li><a href="#quick-start-guides">Quick Start Guides</a></li>
<li><a href="#pre-built-binaries">Pre-Built Binaries</a></li>
<li><a href="#software-overview">Software Overview</a></li>
<li><a href="#get-involved">Get Involved</a></li>
<li><a href="#contributions">Contributions</a></li>
<li><a href="#disclaimer">Disclaimer</a></li>
<li><a href="#license">License</a></li>
<li><a href="#third-party">Third-Party</a></li>
<li><a href="#build-flags">Build Flags</a></li>
</ul>
<h1>Arm NN</h1>
<p><b>Arm NN</b> is the <b>most performant</b> machine learning (ML) inference engine for Android and Linux, accelerating ML on <b>Arm Cortex-A CPUs and Arm Mali GPUs</b>. This ML inference engine is an open source SDK which bridges the gap between existing neural network frameworks and power-efficient Arm IP.</p>
<p>Arm NN outperforms generic ML libraries due to <b>Arm architecture-specific optimizations</b> (e.g. SVE2) by utilizing <b><a href="https://github.com/ARM-software/ComputeLibrary/">Arm Compute Library (ACL)</a></b>. To target Arm Ethos-N NPUs, Arm NN utilizes the <a href="https://github.com/ARM-software/ethos-n-driver-stack">Ethos-N NPU Driver</a>. For Arm Cortex-M acceleration, please see <a href="https://github.com/ARM-software/CMSIS_5">CMSIS-NN</a>.</p>
<p>Arm NN is written using portable <b>C++14</b> and built using <a href="https://cmake.org/">CMake</a> - enabling builds for a wide variety of target platforms, from a wide variety of host environments. <b>Python</b> developers can interface with Arm NN through the use of our <b>Arm NN TF Lite Delegate</b>.</p>
<h2>Quick Start Guides</h2>
<p><b>The Arm NN TF Lite Delegate provides the widest ML operator support in Arm NN</b> and is an easy way to accelerate your ML model. To start using the TF Lite Delegate, first download the <b><a href="#pre-built-binaries">Pre-Built Binaries</a></b> for the latest release of Arm NN. Using a Python interpreter, you can load your TF Lite model into the Arm NN TF Lite Delegate and run accelerated inference. Please see this <b><a class="el" href="md_delegate__delegate_quick_start_guide.xhtml">Quick Start Guide</a></b> on GitHub or this more comprehensive <b><a href="https://developer.arm.com/documentation/102561/latest/">Arm Developer Guide</a></b> for information on how to accelerate your TF Lite model using the Arm NN TF Lite Delegate.</p>
<p>The fastest way to integrate Arm NN into an <b>Android app</b> is by using our <b>Arm NN AAR (Android Archive) file with Android Studio</b>. The AAR file nicely packages up the Arm NN TF Lite Delegate, Arm NN itself and ACL; ready to be integrated into your Android ML application. Using the AAR allows you to benefit from the <b>vast operator support</b> of the Arm NN TF Lite Delegate. We held an <b><a href="https://www.youtube.com/watch?v=Zu4v0nqq2FA">Arm AI Tech Talk</a></b> on how to accelerate an ML Image Segmentation app in 5 minutes using this AAR file. To download the Arm NN AAR file, please see the <b><a href="#pre-built-binaries">Pre-Built Binaries</a></b> section below.</p>
<p>We also provide Debian packages for Arm NN, which are a quick way to start using Arm NN and the TF Lite Parser (albeit with less ML operator support than the TF Lite Delegate). There is an installation guide available <a class="el" href="md__installation_via_apt_repository.xhtml">here</a> which provides instructions on how to install the Arm NN Core and the TF Lite Parser for Ubuntu 20.04.</p>
<p>To build Arm NN from scratch, we provide the <b>Arm NN Build Tool</b>. This tool consists of <b>parameterized bash scripts</b> accompanied by a <b>Dockerfile</b> for building Arm NN and its dependencies, including <b><a href="https://github.com/ARM-software/ComputeLibrary/">Arm Compute Library (ACL)</a></b>. This tool replaces/supersedes the majority of the existing Arm NN build guides as a user-friendly way to build Arm NN. The main benefit of building Arm NN from scratch is the ability to <b>exactly choose which components to build, targeted for your ML project</b>.<br  />
</p>
<h2>Pre-Built Binaries</h2>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Operating System </th><th class="markdownTableHeadNone">Architecture-specific Release Archive (Download)  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">Android (AAR) </td><td class="markdownTableBodyNone"><a href="https://github.com/ARM-software/armnn/releases/download/v23.02/armnn_delegate_jni-23.02.aar"><img src="https://img.shields.io/badge/download-android--aar-orange" alt="" class="inline"/></a>  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">Android 10 "Q/Quince Tart" (API level 29) </td><td class="markdownTableBodyNone"><a href="https://github.com/ARM-software/armnn/releases/download/v23.02/ArmNN-android-29-arm64-v8.2-a.tar.gz"><img src="https://img.shields.io/badge/download-arm64--v8.2a-blue" alt="" class="inline"/></a> <a href="https://github.com/ARM-software/armnn/releases/download/v23.02/ArmNN-android-29-arm64-v8a.tar.gz"><img src="https://img.shields.io/badge/download-arm64--v8a-red" alt="" class="inline"/></a>  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">Android 11 "R/Red Velvet Cake" (API level 30) </td><td class="markdownTableBodyNone"><a href="https://github.com/ARM-software/armnn/releases/download/v23.02/ArmNN-android-30-arm64-v8.2-a.tar.gz"><img src="https://img.shields.io/badge/download-arm64--v8.2a-blue" alt="" class="inline"/></a> <a href="https://github.com/ARM-software/armnn/releases/download/v23.02/ArmNN-android-30-arm64-v8a.tar.gz"><img src="https://img.shields.io/badge/download-arm64--v8a-red" alt="" class="inline"/></a>  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">Android 12 "S/Snow Cone" (API level 31) </td><td class="markdownTableBodyNone"><a href="https://github.com/ARM-software/armnn/releases/download/v23.02/ArmNN-android-31-arm64-v8.2-a.tar.gz"><img src="https://img.shields.io/badge/download-arm64--v8.2a-blue" alt="" class="inline"/></a> <a href="https://github.com/ARM-software/armnn/releases/download/v23.02/ArmNN-android-31-arm64-v8a.tar.gz"><img src="https://img.shields.io/badge/download-arm64--v8a-red" alt="" class="inline"/></a>  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">Android 13 "T/Tiramisu" (API level 32) </td><td class="markdownTableBodyNone"><a href="https://github.com/ARM-software/armnn/releases/download/v23.02/ArmNN-android-32-arm64-v8.2-a.tar.gz"><img src="https://img.shields.io/badge/download-arm64--v8.2a-blue" alt="" class="inline"/></a> <a href="https://github.com/ARM-software/armnn/releases/download/v23.02/ArmNN-android-32-arm64-v8a.tar.gz"><img src="https://img.shields.io/badge/download-arm64--v8a-red" alt="" class="inline"/></a>  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">Linux </td><td class="markdownTableBodyNone"><a href="https://github.com/ARM-software/armnn/releases/download/v23.02/ArmNN-linux-aarch64.tar.gz"><img src="https://img.shields.io/badge/download-aarch64-green" alt="" class="inline"/></a> <a href="https://github.com/ARM-software/armnn/releases/download/v23.02/ArmNN-linux-x86_64.tar.gz"><img src="https://img.shields.io/badge/download-x86__64-yellow" alt="" class="inline"/></a>  </td></tr>
</table>
<h2>Software Overview</h2>
<p>The Arm NN SDK supports ML models in <b>TensorFlow Lite</b> (TF Lite) and <b>ONNX</b> formats.</p>
<p><b>Arm NN's TF Lite Delegate</b> accelerates TF Lite models through <b>Python or C++ APIs</b>. Supported TF Lite operators are accelerated by Arm NN and any unsupported operators are delegated (fallback) to the reference TF Lite runtime - ensuring extensive ML operator support. <b>The recommended way to use Arm NN is to <a href="https://www.tensorflow.org/lite/convert">convert your model to TF Lite format</a> and use the TF Lite Delegate.</b> Please refer to the <a href="#quick-start-guides">Quick Start Guides</a> for more information on how to use the TF Lite Delegate.</p>
<p>Arm NN also provides <b>TF Lite and ONNX parsers</b> which are C++ libraries for integrating TF Lite or ONNX models into your ML application. Please note that these parsers do not provide extensive ML operator coverage as compared to the Arm NN TF Lite Delegate.</p>
<p><b>Android</b> ML application developers have a number of options for using Arm NN:</p><ul>
<li>Use our Arm NN AAR (Android Archive) file with <b>Android Studio</b> as described in the <a href="#quick-start-guides">Quick Start Guides</a> section</li>
<li>Download and use our <a href="#pre-built-binaries">Pre-Built Binaries</a> for the Android platform</li>
<li>Build Arm NN from scratch with the Android NDK using this <a class="el" href="md__build_guide_android_n_d_k.xhtml">GitHub guide</a></li>
</ul>
<p>Arm also provides an <a href="https://github.com/ARM-software/android-nn-driver">Android-NN-Driver</a> which implements a hardware abstraction layer (HAL) for the Android NNAPI. When the Android NN Driver is integrated on an Android device, ML models used in Android applications will automatically be accelerated by Arm NN.</p>
<p>For more information about the Arm NN components, please refer to our <a href="https://github.com/ARM-software/armnn/wiki/Documentation">documentation</a>.</p>
<p>Arm NN is a key component of the <a href="https://mlplatform.org/">machine learning platform</a>, which is part of the <a href="https://www.linaro.org/news/linaro-announces-launch-of-machine-intelligence-initiative/">Linaro Machine Intelligence Initiative</a>.</p>
<p>For FAQs and troubleshooting advice, see the <a class="el" href="md_docs__f_a_q.xhtml">FAQ</a> or take a look at previous <a href="https://github.com/ARM-software/armnn/issues">GitHub Issues</a>.</p>
<h2>Get Involved</h2>
<p>The best way to get involved is by using our software. If you need help or encounter an issue, please raise it as a <a href="https://github.com/ARM-software/armnn/issues">GitHub Issue</a>. Feel free to have a look at any of our open issues too. We also welcome feedback on our documentation.</p>
<p>Feature requests without a volunteer to implement them are closed, but have the 'Help wanted' label, these can be found <a href="https://github.com/ARM-software/armnn/issues?q=is%3Aissue+label%3A%22Help+wanted%22+">here</a>. Once you find a suitable Issue, feel free to re-open it and add a comment, so that Arm NN engineers know you are working on it and can help.</p>
<p>When the feature is implemented the 'Help wanted' label will be removed.</p>
<h2>Contributions</h2>
<p>The Arm NN project welcomes contributions. For more details on contributing to Arm NN please see the <a href="https://mlplatform.org/contributing/">Contributing page</a> on the <a href="https://mlplatform.org/">MLPlatform.org</a> website, or see the Contributor Guide.</p>
<p>Particularly if you'd like to implement your own backend next to our CPU, GPU and NPU backends there are guides for backend development: <a class="el" href="md_src_backends__r_e_a_d_m_e.xhtml">Backend development guide</a>, <a class="el" href="md_src_dynamic__r_e_a_d_m_e.xhtml">Dynamic backend development guide</a>.</p>
<h2>Disclaimer</h2>
<p>The armnn/tests directory contains tests used during Arm NN development. Many of them depend on third-party IP, model protobufs and image files not distributed with Arm NN. The dependencies for some tests are available freely on the Internet, for those who wish to experiment, but they won't run out of the box.</p>
<h2>License</h2>
<p>Arm NN is provided under the <a href="https://spdx.org/licenses/MIT.html">MIT</a> license. See [LICENSE](LICENSE) for more information. Contributions to this project are accepted under the same license.</p>
<p>Individual files contain the following tag instead of the full license text. </p><pre class="fragment">SPDX-License-Identifier: MIT
</pre><p>This enables machine processing of license information based on the SPDX License Identifiers that are available here: <a href="http://spdx.org/licenses/">http://spdx.org/licenses/</a></p>
<h2>Inclusive language commitment</h2>
<p>Arm NN conforms to Arm's inclusive language policy and, to the best of our knowledge, does not contain any non-inclusive language.</p>
<p>If you find something that concerns you, please email <a href="#" onclick="location.href='mai'+'lto:'+'ter'+'ms'+'@ar'+'m.'+'com'; return false;">terms<span style="display: none;">.nosp@m.</span>@arm<span style="display: none;">.nosp@m.</span>.com</a></p>
<h2>Third-party</h2>
<p>Third party tools used by Arm NN:</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Tool </th><th class="markdownTableHeadNone">License (SPDX ID) </th><th class="markdownTableHeadNone">Description </th><th class="markdownTableHeadNone">Version </th><th class="markdownTableHeadNone">Provenience  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">cxxopts </td><td class="markdownTableBodyNone">MIT </td><td class="markdownTableBodyNone">A lightweight C++ option parser library </td><td class="markdownTableBodyNone">SHA 12e496da3d486b87fa9df43edea65232ed852510 </td><td class="markdownTableBodyNone"><a href="https://github.com/jarro2783/cxxopts">https://github.com/jarro2783/cxxopts</a>  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">doctest </td><td class="markdownTableBodyNone">MIT </td><td class="markdownTableBodyNone">Header-only C++ testing framework </td><td class="markdownTableBodyNone">2.4.6 </td><td class="markdownTableBodyNone"><a href="https://github.com/onqtam/doctest">https://github.com/onqtam/doctest</a>  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">fmt </td><td class="markdownTableBodyNone">MIT </td><td class="markdownTableBodyNone">{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams. </td><td class="markdownTableBodyNone">7.0.1 </td><td class="markdownTableBodyNone"><a href="https://github.com/fmtlib/fmt">https://github.com/fmtlib/fmt</a>  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">ghc </td><td class="markdownTableBodyNone">MIT </td><td class="markdownTableBodyNone">A header-only single-file std::filesystem compatible helper library </td><td class="markdownTableBodyNone">1.3.2 </td><td class="markdownTableBodyNone"><a href="https://github.com/gulrak/filesystem">https://github.com/gulrak/filesystem</a>  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">half </td><td class="markdownTableBodyNone">MIT </td><td class="markdownTableBodyNone">IEEE 754 conformant 16-bit half-precision floating point library </td><td class="markdownTableBodyNone">1.12.0 </td><td class="markdownTableBodyNone"><a href="http://half.sourceforge.net">http://half.sourceforge.net</a>  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">mapbox/variant </td><td class="markdownTableBodyNone">BSD </td><td class="markdownTableBodyNone">A header-only alternative to 'boost::variant' </td><td class="markdownTableBodyNone">1.1.3 </td><td class="markdownTableBodyNone"><a href="https://github.com/mapbox/variant">https://github.com/mapbox/variant</a>  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">stb </td><td class="markdownTableBodyNone">MIT </td><td class="markdownTableBodyNone">Image loader, resize and writer </td><td class="markdownTableBodyNone">2.16 </td><td class="markdownTableBodyNone"><a href="https://github.com/nothings/stb">https://github.com/nothings/stb</a>  </td></tr>
</table>
<h2>Build Flags</h2>
<p>Arm NN uses the following security related build flags in their code:</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Build flags  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">-Wall  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">-Wextra  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">-Wold-style-cast  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">-Wno-missing-braces  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">-Wconversion  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">-Wsign-conversion  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">-Werror  </td></tr>
</table>
</div></div><!-- PageDoc -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Wed Mar 22 2023 15:53:10 for ArmNN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
