1 # How to install ArmNN via our APT repository on Ubuntu's Launchpad
3 * [Introduction](#introduction)
4 * [Add the Ubuntu Launchpad PPA to your system](#add-the-ubuntu-launchpad-ppa-to-your-system)
5 * [Outline of available packages](#outline-of-available-packages)
9 * [Check latest version of packages](#check-latest-version-of-packages)
10 * [Install desired combination of packages](#install-desired-combination-of-packages)
11 * [Uninstall packages](#uninstall-packages)
15 These are the step by step instructions on how to install the Arm NN core, TensorflowLite Parser
16 as well as PyArmNN for x86_64, Arm64 and Armhf for Ubuntu 20.04.
17 The packages will also be added to Debian Bullseye, their progress can be tracked here:
18 https://tracker.debian.org/pkg/armnn
21 ## Add the Ubuntu Launchpad PPA to your system
22 * Add the PPA to your sources using a command contained in software-properties-common package:
24 sudo apt install software-properties-common
25 sudo add-apt-repository ppa:armnn/ppa
28 * More information about our PPA and the Ubuntu Launchpad service can be found at [launchpad.net](https://launchpad.net/~armnn/+archive/ubuntu/ppa)
29 ## Outline of available packages
31 We provide a number of packages for each architecture; x86_64, aarch64 and armhf as outlined below.
33 ARMNN_MAJOR_VERSION: This is the ABI version of the Arm NN source that has been packaged based on
34 include/armnn/Version.hpp.
36 ARMNN_RELEASE_VERSION: This is the marketing release version based on the date source was released on github e.g. 20.11.
38 PACKAGE_VERSION: This is the version of the source package used to build the binaries packages from.
43 libarmnn-cpuref-backend{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_amd64.deb
44 libarmnntfliteparser{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_amd64.deb
45 libarmnn{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_amd64.deb
46 python3-pyarmnn_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_amd64.deb
48 * Development Packages
50 libarmnn-dev_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_amd64.deb
51 libarmnntfliteparser-dev_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_amd64.deb
56 libarmnn-aclcommon{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_arm64.deb
57 libarmnn-cpuacc-backend{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_arm64.deb
58 libarmnn-cpuref-backend{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_arm64.deb
59 libarmnn-gpuacc-backend{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_arm64.deb
60 libarmnntfliteparser{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_arm64.deb
61 libarmnn{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_arm64.deb
62 python3-pyarmnn_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_arm64.deb
65 * Development Packages
67 libarmnn-dev_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_arm64.deb
68 libarmnntfliteparser-dev_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_arm64.deb
74 libarmnn-aclcommon{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_armhf.deb
75 libarmnn-cpuacc-backend{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_armhf.deb
76 libarmnn-cpuref-backend{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_armhf.deb
77 libarmnn-gpuacc-backend{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_armhf.deb
78 libarmnntfliteparser{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_armhf.deb
79 libarmnn{ARMNN_MAJOR_VERSION}_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_armhf.deb
80 python3-pyarmnn_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_armhf.deb
83 * Development Packages
85 libarmnn-dev_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_armhf.deb
86 libarmnntfliteparser-dev_{ARMNN_RELEASE_VERSION}-{PACKAGE_VERSION}_armhf.deb
90 ## Check latest version of packages
91 Due to Debian Packaging requiring the pristine tarball from our Github release, the version on Launchpad may not align
92 with the released version on Github depending on the complexity of newly added features.
93 In order to check for the latest available Arm NN version use apt-cache search:
95 apt-cache search libarmnn
97 # This returns a list of matching packages, the latest being libarmnn23 i.e. ARMNN_MAJOR_VERSION=23
98 libarmnn-cpuref-backend23 - Arm NN is an inference engine for CPUs, GPUs and NPUs
99 libarmnn-cpuref-backend24 - Arm NN is an inference engine for CPUs, GPUs and NPUs
100 libarmnn-dev - Arm NN is an inference engine for CPUs, GPUs and NPUs
101 libarmnntfliteparser-dev - Arm NN is an inference engine for CPUs, GPUs and NPUs # Note: removal of dash to suit debian naming conventions
102 libarmnn-tfliteparser23 - Arm NN is an inference engine for CPUs, GPUs and NPUs
103 libarmnntfliteparser24 - Arm NN is an inference engine for CPUs, GPUs and NPUs # Note: removal of dash to suit debian naming conventions
104 libarmnn23 - Arm NN is an inference engine for CPUs, GPUs and NPUs
105 libarmnn24 - Arm NN is an inference engine for CPUs, GPUs and NPUs
106 libarmnn-aclcommon23 - Arm NN is an inference engine for CPUs, GPUs and NPUs
107 libarmnnaclcommon24 - Arm NN is an inference engine for CPUs, GPUs and NPUs # Note: removal of dash to suit debian naming conventions
108 libarmnn-cpuacc-backend23 - Arm NN is an inference engine for CPUs, GPUs and NPUs
109 libarmnn-cpuacc-backend24 - Arm NN is an inference engine for CPUs, GPUs and NPUs
110 libarmnn-gpuacc-backend23 - Arm NN is an inference engine for CPUs, GPUs and NPUs
111 libarmnn-gpuacc-backend24 - Arm NN is an inference engine for CPUs, GPUs and NPUs
114 # Export the ARMNN_MAJOR_VERSION to allow installation using the below examples
115 export ARMNN_MAJOR_VERSION=24
119 ## Install desired combination of packages
120 The easiest way to install all of the available packages for your systems architecture is to run the command:
123 sudo apt-get install -y python3-pyarmnn libarmnn-cpuacc-backend${ARMNN_MAJOR_VERSION} libarmnn-gpuacc-backend${ARMNN_MAJOR_VERSION} libarmnn-cpuref-backend${ARMNN_MAJOR_VERSION}
124 # Verify installation via python:
125 python3 -c "import pyarmnn as ann;print(ann.GetVersion())"
126 # Returns '{ARMNN_MAJOR_VERSION}.0.0' e.g. 24.0.0
128 This will install PyArmNN and the three backends for Neon, Compute Library and our Reference Backend.
129 It will also install their dependencies including the arm-compute-library package along with the Tensorflow Lite Parser
130 and it's dependency Arm NN Core.
131 If the user does not wish to use PyArmNN they can go up a level of dependencies and instead just install the
132 Tensorflow Lite Parser:
134 sudo apt-get install -y libarmnntfliteparser${ARMNN_MAJOR_VERSION} libarmnn-gpuacc-backend${ARMNN_MAJOR_VERSION}
137 ## Uninstall packages
138 The easiest way to uninstall all of the previously installed packages is to run the command:
140 sudo apt autoremove -y libarmnn${ARMNN_MAJOR_VERSION}