Deep Learning has made several breakthroughs in recent years. Compared to traditional computation platforms, it has become more sophisticated and advanced than ever. Smart homes, intelligent personal assistants, etc. are some of the major breakthroughs in the present era.
In this article, we list down 8 platforms that can be used to build mobile deep learning solutions.
(The list is in alphabetical order)
Facebook’s open-source deep learning framework, Caffe2 is a lightweight, modular, and scalable framework which provides an easy way to experiment with deep learning models and algorithms. The framework comes with native Python and C++ APIs that work interchangeably and integrates with Android Studio, Microsoft Visual Studio, or XCode for mobile development. It is an optimised version for mobile integrations, flexibility, easy updates, and running models on lower-powered devices. Last year, this framework merged with PyTorch for research and development purposes.
2| Core ML
Introduced by American tech major, Apple Inc., CoreML is a machine learning framework which is used to integrate machine learning models into applications. It optimises on-device performance by leveraging the CPU, GPU, and Neural Engine while minimizing its memory footprint and power consumption. The framework supports various deep learning techniques such as Vision for analyzing images, Natural Language for processing text, Speech for converting audio to text, and SoundAnalysis for identifying sounds in audio.
DeepLearningKit is an Open Source Deep Learning framework for Apple’s iOS which supports using pre-trained deep learning models (convolutional neural networks). It is developed in Metal programming language in order to utilize the GPU efficiently and Swift for integration with applications, for instance, iOS-based mobile apps on iPhone/iPad. The kit supports iOS phones using deep learning models trained with popular frameworks such as Caffe, Torch, TensorFlow, Theano, Pylearn, Deeplearning4J and Mocha.
4| Mobile AI Compute Engine (MACE)
Mobile AI Compute Engine (MACE) is a deep learning inference framework which is optimised for mobile heterogeneous computing platforms such as Android, iOS, Linux and Windows devices. The framework defines a customised format which is similar to Facebook’s Caffe2. It supports TensorFlow, Caffe, and ONNx as well as techniques to protect the model, such as converting models to C++ code. MACE is designed mainly to optimise mobile chips to support AI and ML-based tasks and also has support for heterogeneous computing acceleration
5| Paddle Lite
Paddle-Mobile is an open-source deep learning framework which is designed to perform inference on mobile, embedded, and IoT devices. The updated version of Paddle Mobile is known as Paddle Lite enables device-optimised kernels, maximizing ARM CPU performance. The execution module can be deployed without third-party libraries on mobile devices and it also supports a diversity of hardware such as ARM CPU, Mali GPU, Adreno GPU, Huawei NPU, and FPGA. The models which are trained on Caffe and TensorFlow can also be converted to be used on Paddle-Lite with the help of X2Paddle.
6| PyTorch Mobile
Recently, Facebook made an experimental release of PyTorch Mobile which will be used to deploy machine learning models on mobile devices. PyTorch is one of the most popular frameworks developed by Facebook. It supports an end-to-end workflow from Python to deployment on iOS and Android. The beta release is still in developing mode and will be modified over the coming months by providing APIs which cover common preprocessing and integration tasks needed for incorporating ML in mobile applications, build level optimisation and selective compilation depending on the operators needed for user applications and other such.
7| Snapdragon Neural Processing Engine (SNPE)
Developed by Qualcomm, Snapdragon Neural Processing Engine (SNPE) software development kit is a Qualcomm Snapdragon software accelerated runtime for the execution of deep neural networks. It helps in executing arbitrarily deep neural networks and helps in converting Caffe, Caffe2, ONNX and TensorFlow models to an SNPE Deep Learning Container (DLC) file for mobile devices.
8| TensorFlow Lite
TensorFlow Lite is an open-source Deep Learning framework for on-device inference. It is basically a set of tools to help developers run TensorFlow models on mobile, embedded, and IoT devices. TensorFlow Lite enables on-device machine learning inference with low latency and a small binary size and consists of two main components which are TensorFlow Lite interpreter and TensorFlow Lite converter.