I have compiled a list of awesome libraries and machine learning frameworks for iOS divided by language. This list is for anyone who is curious about machine learning with iOS but has no idea where to start.
What is machine learning?
Machine learning algorithms build a mathematical model based on sample data, known as “training data”, in order to make predictions or decisions without having to write any custom code specific to the problem to perform the task. Instead of writing code, you feed data to the generic algorithm and it builds its own logic based on the data.
Machine learning algorithms are used in a wide variety of applications, such as email filtering and computer vision, where it is difficult or infeasible to develop a conventional algorithm for effectively performing the task.
It is seen as a subset of artificial intelligence.
You can learn more in using this wikipedia article.
Libraries and Frameworks
Objective-C
- YCML — YCML is an Artificial Intelligence, Machine Learning and Optimization framework written in Objective-C. YCML can be used both in Objective-C as well as in Swift and has been verified to run on MacOS and iOS.
- MAChineLearning — An Objective-C multilayer perceptron library, with full support for training through backpropagation. Implemented using vDSP and vecLib, it’s 20 times faster than its Java equivalent. Includes sample code for use from Swift.
- BPN-NeuralNetwork — It implemented 3 layers neural network ( Input Layer, Hidden Layer and Output Layer ) and it named Back Propagation Neural Network (BPN). This network can be used in products recommendation, user behavior analysis, data mining and data analysis.
- Multi-Perceptron-NeuralNetwork — it implemented multi-perceptrons neural network (MLP) based on Back Propagation Neural Network (BPN) and designed unlimited-hidden-layers to do the training tasks. This network can be used in products recommendation, user behavior analysis, data mining and data analysis.
- KRKmeans-Algorithm — It implemented K-Means the clustering and classification algorithm. It could be used in data mining and image compression.
- KRFuzzyCMeans-Algorithm — It implemented Fuzzy C-Means (FCM) the fuzzy clustering / classification algorithm on Machine Learning. It could be used in data mining and image compression.
- KRHebbian-Algorithm — It is a non-supervisor and self-learning algorithm (adjust the weights) in neural network of Machine Learning.
- MLPNeuralNet — Fast multilayer perceptron neural network library for iOS and Mac OS X. MLPNeuralNet predicts new examples by trained neural network. It is built on top of the Apple’s Accelerate Framework, using vectorized operations and hardware acceleration if available.
Swift
- Bender — Bender is an abstraction layer over MetalPerformanceShaders useful for working with neural networks. Is a Fast Neural Networks framework built on top of Metal. Supports TensorFlow models.
- Swift AI — Highly optimized artificial intelligence and machine learning library written in Swift.
- Swift for Tensorflow — a next-generation platform for machine learning, incorporating the latest research across machine learning, compilers, differentiable programming, systems design, and beyond.
- BrainCore — The iOS and OS X neural network framework.
- swix — A bare bones library that includes a general matrix language and wraps some OpenCV for iOS development.
- AIToolbox — A toolbox framework of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians.
- MLKit — A simple Machine Learning Framework written in Swift. Currently features Simple Linear Regression, Polynomial Regression, and Ridge Regression.
- Swift Brain — The first neural network / machine learning library written in Swift. This is a project for AI algorithms in Swift for iOS and OS X development. This project includes algorithms focused on Bayes theorem, neural networks, SVMs, Matrices, etc…
- Perfect TensorFlow — Swift Language Bindings of TensorFlow. Using native TensorFlow models on both macOS / Linux.
- PredictionBuilder — A library for machine learning that builds predictions using a linear regression.
- Awesome CoreML — A curated list of pretrained CoreML models. This list has a collection of Open Source machine learning models which work with Apples Core ML standard.
- Awesome Core ML Models — A curated list of machine learning models in CoreML format to help iOS, macOS, tvOS, and watchOS developers experiment with machine learning techniques.