Software for Machine Learning on Arm

There are many ways to deploy neural networks on mobile and embedded platforms, from a full framework to low-level primitives that enable you to implement your architecture directly. To get started on Arm hardware quickly and easily, try Arm NN, the Compute Library or CMSIS-NN.

  • Arm NN

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

    Learn more
  • 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.

    Learn more
  • CMSIS-NN

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

    Learn more


Frameworks Supported by Arm

Arm supports a wide array of machine learning frameworks. If you have requirements that aren't yet supported by our fully optimized stack, you can choose from a range of frameworks and libraries:

  • TensorFlow

    Type: Framework

    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

    Learn more
  • PyTorch

    Type: Framework

    Facebook framework with optimized routines for Arm CPUs with NEON.

    Learn more
  • MxNet

    Type: Framework

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

    MxNet GitHub

    Learn more

  • Microsoft Cognitive Toolkit (CNTK)

    Type: Framework

    Microsoft framework with optimized routines for Arm CPUs with NEON.

    Learn more

  • Caffe

    Type: Framework

    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

    Learn more
  • Caffe2

    Type: Framework

    Facebook framework with optimized routines for Arm CPUs with NEON.

    Learn more

  • Keras

    Type: API

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

    Learn more
  • PlaidML

    Type: Keras backend

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

    Learn more

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