Software for Machine Learning on Arm

There are many ways to deploy neural networks on mobile and embedded platforms, ranging from deploying a full framework to using low-level primitives to implement your specific architecture directly. If you want to get started on Arm hardware quickly, try Arm NN, Compute Library or CMSIS-NN as a starting point.

Arm NN

Arm's inference engine designed to run networks trained on popular frameworks optimally on Arm IP, including both TensorFlow and Caffe.

Compute Library

Arm's optimized low-level functions for computer vision and machine learning, focusing on CNNs for 32-bit float and 8-bit integer across a wide array of Arm CPUs and GPUs.

CMSIS-NN

Arm's library of efficient neural network kernels for Arm Cortex-M CPUs.




Frameworks supported on Arm

A wide array of machine learning frameworks are supported on Arm - so if you have needs for training or use cases which aren't yet supported in our fully-optimised stack there are a number of frameworks and libraries to choose from:

TensorFlow

Type
Framework

Summary
Google framework with optimized 32-bit and 8-bit NEON routines for Arm CPUs.

Includes an OpenCL backend supporting Arm Mali GPU via SYCL.

TensorFlow Arm setup guide

PyTorch

Type
Framework

Summary
Facebook framework with optimized routines for Arm CPUs with NEON.






MxNet

Type
Framework

Summary
Apache framework with optimized routines for Arm CPUs.

Open AI version optimized with the Arm Compute Library for CPUs and GPUs.

MxNet GitHub.

CNTK

Type
Framework

Summary
Microsoft framework with optimized routines for Arm CPUs with NEON.







Caffe

Type
Framework

Summary
Berkley Vision and Learning Centre framework with several options for running on Arm.

CaffeOnACL is a version optimized with the Arm Compute Library for CPUs and GPUs.

CaffeOnACL GitHub.

Caffe2

Type
Framework

Summary
Facebook framework with optimized routines for Arm CPUs with NEON.







Keras

Type
API

Summary
A high-level neural networks API, written in Python and capable of running on top of several framework backends including TensorFlow and CNTK.

PlaidML

Type
Keras backend

Summary
Vertex.ai OpenCL framework compatible with Keras API with support for Arm Mali GPU.


Is your preferred framework or library missing from this list? Email ml@arm.com and let us know!