Top 10 Machine Learning Frameworks for Mobile Apps

Machine learning is a process of data analysis whereby computers parse large data-sets in order to figure out how to solve particular problems, albeit without direct supervision or instruction on the part of developers. Optical Character Recognition and Natural Language Processing are two examples where machine learning is being used to develop real-world applications.

Machine learning is finally working its way into the development of mobile applications. There are now multiple frameworks on the market which provide APIs for mobile platforms. However, the calculations are still for the most part being done server-side, with the results being passed back to mobile devices through the API.

Choosing the right development framework for machine learning-based applications can be a difficult task for developers with no previous experience in the field. To make the decision easier, we have decided to partner up with prominent it consultants to create a list of the best machine learning frameworks in use today.

Google TensorFlow Lite

Google Brain Team developed Tensorflow for use in natural language processing and perception related tasks. TensorFlow Lite is a version of this framework designed specifically for mobile use. It is the most complete machine learning solution currently available on the market. TensorFlow Lite works natively with Android phones, and there have been successful attempts to run the framework on iOS devices as well. The features that set it apart from competition are low-latency real-time image processing, hardware-based support on Android devices, and quantized kernels for faster calculation.

Amazon Machine Learning

AML is a framework created by Amazon for developing machine learning-based applications. Its main feature are its tools, which allow individuals with no coding knowledge to create advanced machine learning algorithms for many purposes. The calculations are done server-side, with the results being delivered on-demand through a mobile API. Amazon uses AML in its own cloud-based services. It is a machine framework that is rapidly growing in popularity thanks to its speed and flexibility in working on a variety of machine learning-based tasks.

Berkeley AI Research Caffe2

Caffe is a machine learning framework that was designed solely for work in the field of computer vision. It works by leveraging Convolutional Neural Networks technology for better performance in image classification tasks. Caffe2 is an off-shot of Caffe which was created with mobile development in mind. It uses a modular approach to machine learning, which allows developers to pick and choose the exact models and tools they need for a given project. Apps built in this framework can run on phones with different hardware, providing real-time calculations while on the move.

Apache Singa

The Apache Software Foundation designed Singa to be a straightforward, robust machine learning development model that can work across multiple nodes. It uses model partitioning and parallel training, and is primarily geared towards distributed machine learning. Singa supports a variety of deep learning models, making it adept at solving many different kinds of problems. It is capable of running synchronous, asynchronous and hybrid training methods, depending on the needs of the developer.

Apple Core ML

Apple launched their Core ML framework to give iOS developers the ability to integrated machine learning algorithms and data into their applications. Their mobile machine learning API is used for communicating with servers which do the calculations, and then send back results to mobile devices. Core ML supports the Vision framework for image recognition and analysis, the Foundation framework for natural language processing and generation, and the GameplayKit framework for evaluating decision trees.

Microsoft Cognitive Toolkit

Microsoft released Cognitive Toolkit (CNTK) as its open-source machine learning platform. CNTK can can be used in fields such as speech recognition, image training and natural language processing. It supports many different learning algorithms, including LSTM, CNN, RNN, Sequence-to-Sequence, and Feed Forward. It is compatible with a wide variety of hardware setups, including portable devices. CNTK offers the option to work in languages like Python and C++, or to use one of its built-in wizards for those unfamiliar with programming.

Torch

One of the earliest available frameworks for machine learning, Torch saw its first release version back in 2002, and it was developed by the New York University. Nowadays, it is used by IT companies such as Facebook and IBM for advanced machine learning research. Torch is easy to set-up and work with, provided you are familiar with the Lua, a procedural programming language that has seen wide use since its release 1993. Torch offers a variety of machine learning algorithms, and it can easily be expanded through the use of various packages.

Theano

Theano was initially released in 2007 by the Université de Montréal. Theano runs on Python, which makes it particularly flexible and efficient for solving machine learning tasks. It is most suited for research, but it has been used for application development as well. Mobile apps have been using its API to integrate machine learning functionality. Theano has been discontinued since November 2017, but it is still seeing wide usage. Some of its more popular libraries include Blocks, Keras, and Lasagne, which extend its functionality even further.

Accord.NET

Initially a one-man project by the author César Roberto de Souza, Accord.NET is an open-source machine learning framework developed in C#. Initially it was intended for primarily for scientific use, but it has expanded since to offer the ability for implementing machine learning in business and consumer-grade applications. Some of its supported machine learning algorithms include those for signal and image processing, numerical optimization, statistical data processing, linear algebra, and others.

Brainstorm

An off-shot of PyBrain, Brainstorm is machine learning framework developed for Python. What distinguishes Brainstorm from other frameworks is its simplicity and ease of use for beginners. Brainstorm can be instantiated on both CPUs and GPUs, making it fairly flexible. It is commonly run server-side due to it being implemented in Python. The dev team that created Brainstorm is no longer working on it, but it still remains in a usable state thanks to a dedicated community.

Leave a Comment