Skip to content
45

Machine Learning for iOS

List of Machine Learning, AI, NLP solutions for iOS. The most recent version of this article can be found on my blog.

1.4k stars149 forks227 entriesLast push Jul 30, 2018 (8 years ago)License none

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Core ML

coremltools

is a Python package. It contains converters from some popular machine learning libraries to the Apple format.

Core ML

is an Apple framework to run inference on device. It is highly optimized to Apple hardware.

In 4 lists

Caffe

In 2 lists

Keras

Neural Networks on top of tensorflow, examples. keras-contrib - Keras community contributions. keras-tuner - Hyperparameter tuning for Keras. hyperas - Keras + Hyperopt: Convenient hyperparameter optimization wrapper. elephas - Distributed Deep learning with Keras & Spark. tflearn - Neural…

In 8 listsDetails

libSVM

is an integrated software for support vector classification, (C-SVC, nu-SVC), regression (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.

In 5 listsDetails

scikit-learn

XGBoost

Turicreate

Machine learning from Apple. Turi Create simplifies the development of custom machine learning models. You don't have to be a machine learning expert to add recommendations, object detection, image classification, image similarity or activity classification to your app.

In 4 listsDetails

TensorFlow

MXNet

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, JavaScript and more. website

In 5 listsDetails

Torch7

Torch7 -> CoreML

In 3 lists

CatBoost

General-Purpose Machine Learning Libraries

Brain.js

JS

In 6 listsDetails

SNNeuralNet

Objective-C port of brain.js

MLPNeuralNet

Objective-C, Accelerate

In 3 lists

Swift-AI

Swift

In 3 lists

SwiftSimpleNeuralNetwork

Swift

ios-KRPerceptron

Objective-C

Deep Learning Libraries: >On-Device training and inference

Birdbrain

RNNs and FF NNs on top of Metal and Accelerate. Not ready for production.

BrainCore

simple but fast neural network framework written in Swift. It uses Metal framework to be as fast as possible. ReLU, LSTM, L2 ...

Caffe

In 2 lists

iOS port

caffe-mobile

another iOS port.

Caffe iOS sample

Caffe2

a cross-platform framework made with expression, speed, and modularity in mind.

Cocoa Pod

iOS demo app

Convnet.js

ConvNetJS is a Javascript library for training Deep Learning models by Andrej Karpathy. GitHub

In 3 lists

ConvNetSwift

Swift port [work in progress].

Deep Belief SDK

The SDK for Jetpac's iOS Deep Belief image recognition framework

TensorFlow

an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation…

In 2 lists

iOS examples

How to use the Hexagon Delegate to speed up model inference on mobile and edge devices. Also see blog post Accelerating TensorFlow Lite on Qualcomm Hexagon DSPs.

In 23 listsDetails

another example

Perfect-TensorFlow

TensorFlow binding for Perfect (server-side Swift framework). Includes only C TF API.

In 2 lists

tiny-dnn

header only, dependency-free deep learning framework in C++11.

In 5 listsDetails

Torch

is a scientific computing framework with wide support for machine learning algorithms.

In 5 listsDetails

Torch4iOS

Torch-iOS

Deep Learning Libraries: >Deep Learning: Running pre-trained models on device

Bender

Framework for building fast NNs. Supports TensorFlow models. It uses Metal under the hood.

In 3 lists

DeepLearningKit

Open Source Deep Learning Framework from Memkite for Apple's tvOS, iOS and OS X.

Espresso

A minimal high performance parallel neural network framework running on iOS.

Forge

A neural network toolkit for Metal.

Keras.js

run Keras models in a web view.

KSJNeuralNetwork

A Neural Network Inference Library Built atop BNNS and MPS

Converter for Torch models

MXNet

MXNet is a deep learning framework designed for both efficiency and flexibility.

Deploying pre-trained mxnet model to a smartphone

Quantized-CNN

compressed convolutional neural networks for Mobile Devices

WebDNN

You can run deep learning model in a web view if you want. Three modes: WebGPU acceleration, WebAssembly acceleration and pure JS (on CPU). No training, inference only.

Deep Learning Libraries: >Deep Learning: Low-level routines libraries

BNNS

Apple Basic neural network subroutines (BNNS) is a collection of functions that you use to implement and run neural networks, using previously obtained training data.

BNNS usage examples

in iOS 10 sampler.

An example

of a neural network trained by tensorflow and executed using BNNS

MetalPerformanceShaders

CNNs on GPU from Apple.

MetalCNNWeights

a Python script to convert Inception v3 for MPS.

MPSCNNfeeder

Keras to MPS models conversion.

NNPACK

Acceleration package for neural networks on multi-core CPUs. Prisma uses this library in the mobile app.

STEM

Swift Tensor Engine for Machine-learning

Documentation

Deep Learning Libraries: >Deep Learning: Model Compression

MobileNet-Caffe

Caffe Implementation of Google's MobileNets

In 2 lists

keras-surgeon

Pruning for trained Keras models.

Computer Vision

ccv

C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library

In 2 lists

iOS demo app

OpenCV

Open Source Computer Vision Library. [BSD]

In 2 lists

OpenCV crash course

OpenCVSwiftStitch

Tutorial: using and building openCV on iOS devices

A Collection of OpenCV Samples For iOS

OpenFace

a state-of-the art open source tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation.

In 2 lists

iOS port

trackingjs

Object tracking in JS

Vision

is an Apple framework for computer vision.

Natural Language Processing

CoreLinguistics

POS tagging (HMM), ngrams, Naive Bayes, IBM alignment models.

GloVe

Swift package. Vector words representations.

NSLinguisticTagger

Parsimmon

Twitter text

An Objective-C implementation of Twitter's text processing library. The library includes methods for extracting user names, mentions headers, hashtags, and more – all the tweet specific language syntax you could ever want.

Verbal expressions for Swift

, like regexps for humans.

In 2 lists

Word2Vec

Original C implementation of Word2Vec Deep Learning algorithm. Works on iPhone like a charm.

In 2 lists

Speech Recognition (TTS) and Generation (STT)

Kaldi-iOS framework

on-device speech recognition using deep learning.

Proof of concept app

MVSpeechSynthesizer

OpenEars™: free speech recognition and speech synthesis for the iPhone

OpenEars™ makes it simple for you to add offline speech recognition and synthesized speech/TTS to your iPhone app quickly and easily. It lets everyone get the great results of using advanced speech UI concepts like statistical language models and finite state grammars in their app, but with no…

Tutorial (Russian)

TLSphinx

, Tutorial

Text Recognition (OCR)

ocrad.js

JS OCR

In 4 listsDetails

Install and Use Tesseract on iOS

tesseract-ios-lib

tesseract-ios

Tesseract-OCR-iOS

Tesseract OCR iOS is a Framework for iOS7+, compiled also for armv7s and arm64.

In 2 lists

OCR-iOS-Example

Other AI

Axiomatic

Swift unification framework for logic programming.

Build Your Own Lisp In Swift

Logician

Logic programming in Swift

In 2 lists

Swiftlog

A simple Prolog-like language implemented entirely in Swift.

Machine Learning Web APIs

IBM Watson

Enable Cognitive Computing Features In Your App Using IBM Watson's Language, Vision, Speech and Data APIs.

Introducing the (beta) IBM Watson iOS SDK

AlchemyAPI

Semantic Text Analysis APIs Using Natural Language Processing. Now part of IBM Watson.

Microsoft Project Oxford

Google Prediction engine

Google Cloud Prediction API provides a RESTful API to build Machine Learning models. Prediction's cloud-based machine learning tools can help analyze your data to add various features to your applications, such as customer sentiment analysis, spam detection, recommendation systems, and more.

In 2 lists

Objective-C API

Google Translate API

Dynamically translate between thousands of available language pairs.

In 2 lists

Google Cloud Vision API

Google Cloud Vision API enables developers to understand the content of an image by encapsulating powerful machine learning models in an easy to use REST API.

In 3 lists

Amazon Machine Learning

Amazon ML is a cloud-based service for developers. It provides visualization tools to create machine learning models. Obtain predictions for application using APIs.

iOS developer guide

.

iOS SDK

In 2 lists

PredictionIO

opensource machine learning server for developers and ML engineers. Built on Apache Spark, HBase and Spray.

In 2 lists

Swift SDK

Tapster iOS Demo

This demo demonstrates how to use the PredictionIO Swift SDK to integrate an iOS app with a PredictionIO engine to make your mobile app more interesting.

Wit.AI

NLP API

In 2 lists

Yandex SpeechKit

Text-to-speech and speech-to-text for Russian language. iOS SDK available.

Abbyy OCR SDK

Clarifai

deep learning web api for image captioning. iOS starter project

MetaMind

deep learning web api for image captioning.

Api.AI

Build intelligent speech interfaces for apps, devices, and web

CloudSight.ai

deep learning web API for fine grained object detection or whole screen description, including natural language object captions. Objective-C API client is available.

In 2 lists

Opensource ML Applications >Deep Learning

DeepDreamer

Deep Dream application

DeepDreamApp

Deep Dream Cordova app.

Texture Networks

, Lua implementation

Feedforward style transfer

, Lua implementation

TensorFlow implementation of Neural Style

Implementation of Neural Style

In 3 lists

Corrosion detection app

ios_camera_object_detection

Realtime mobile visualize based Object Detection based on TensorFlow and YOLO model

TensorFlow MNIST iOS demo

Getting Started with Deep MNIST and TensorFlow on iOS

Drummer App

with RNN and Swift

What'sThis

enVision

Deep Learning Models for Vision Tasks on iOS\

GoogLeNet on iOS demo

Neural style in Android

mnist-bnns

TensorFlow MNIST demo port to BNNS

Benchmark of BNNS vs. MPS

VGGNet on Metal

HED CoreML Implementation

is a demo with tutorial on how to use Holistically-Nested Edge Detection on iOS with CoreML and Swift

Opensource ML Applications >Traditional Computer Vision

SwiftOCR

Fast and simple OCR library written in Swift.

In 2 lists

GrabCutIOS

Image segmentation using GrabCut algorithm for iOS

Opensource ML Applications >NLP

Classical ELIZA chatbot in Swift

InfiniteMonkeys

A Keras-trained RNN to emulate the works of a famous poet, powered by BrainCore

Opensource ML Applications >Other

Swift implementation of Joel Grus's "Data Science from Scratch"

Neural Network built in Apple Playground using Swift

Game AI

Introduction to AI Programming for Games

dlib

is a library which has many useful tools including machine learning.

In 3 lists

MicroPather

is a path finder and A* solver (astar or a-star) written in platform independent C++ that can be easily integrated into existing code.

GameplayKit Programming Guide

Other related staff >Linear algebra

Accelerate-in-Swift

Swift example codes for the Accelerate.framework

cuda-swift

Swift binding to CUDA. Not iOS, but still interesting.

Dimensional

Swift matrices with friendly semantics and a familiar interface.

Eigen

A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2]

In 3 lists

Matrix

convenient matrix type with different types of subscripts, custom operators and predefined matrices. A fork of Surge.

NDArray

Float library for Swift, accelerated with Accelerate Framework.

Swift-MathEagle

A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int, big frac, big rational, graphs and general handy extensions and functions.

SwiftNum

linear algebra, fft, gradient descent, conjugate GD, plotting.

Swix

Swift implementation of NumPy and OpenCV wrapper.

In 2 lists

Surge

from Mattt

In 2 lists

Upsurge

generic tensors, matrices on top of Accelerate. A fork of Surge.

YCMatrix

A flexible Matrix library for Objective-C and Swift (OS X / iOS)

Other related staff >Statistics, random numbers

SigmaSwiftStatistics

A collection of functions for statistical calculation written in Swift.

In 3 lists

SORandom

Collection of functions for generating psuedorandom variables from various distributions

RandKit

Swift framework for random numbers & distributions.

Other related staff >Mathematical optimization

fmincg-c

Conjugate gradient implementation in C

libLBFGS

a C library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)

SwiftOptimizer

QuantLib Swift port.

Other related staff >Feature extraction

IntuneFeatures

framework contains code to generate features from audio files and feature labels from the respective MIDI files.

matchbox

Mel-Frequency-Cepstral-Coefficients and Dynamic-Time-Warping for iOS/OSX. Warning: the library was updated last time when iOS 4 was still hot.

LibXtract

is a simple, portable, lightweight library of audio feature extraction functions.

In 2 lists

Other related staff >Data Visualization

Charts

The Swift port of the MPAndroidChart.

In 3 lists

iOS-Charts

A powerful chart / graph framework, the iOS equivalent to MPAndroidChart.

In 2 lists

Core Plot

A 2D plotting lib which is highly customizable and capable of drawing many types of plots.

In 2 lists

Awesome iOS charts

JTChartView

VTK

VTK in action

D3.js iOS binding

Other related staff >Bioinformatics (kinda)

BioJS

a set of tools for bioinformatics in the browser. BioJS builds a infrastructure, guidelines and tools to avoid the reinvention of the wheel in life sciences. Community builds modules than can be reused by anyone.

BioCocoa

BioCocoa is an open source OpenStep (GNUstep/Cocoa) framework for bioinformatics written in Objective-C. [Dead project].

iBio

A Bioinformatics App for iPhone.

Other related staff >Big Data (not really)

HDF5Kit

This is a Swift wrapper for the HDF5 file format. HDF5 is used in the scientific comunity for managing large volumes of data. The objective is to make it easy to read and write HDF5 files from Swift, including playgrounds.

Other related staff >IPython + Swift

iSwift

Swift kernel for IPython notebook.

iOS ML Blogs >Regular mobile ML

The "Machine, think!" blog

by Matthijs Hollemans

The “hello world” of neural networks

Swift and BNNS

Convolutional neural networks on the iPhone with VGGNet

Pete Warden's blog

How to Quantize Neural Networks with TensorFlow

iOS ML Blogs >Accidental mobile ML

Google research blog

Apple Machine Learning Journal

In 2 lists

Invasive Code

blog

Machine Learning for iOS

Convolutional Neural Networks in iOS 10 and macOS

iOS ML Blogs >Other

Intelligence in Mobile Applications

An exclusive inside look at how artificial intelligence and machine learning work at Apple

Presentation on squeezing DNNs for mobile

Curated list of papers on deep learning models compression and acceleration

GPU Computing Blogs

OpenCL for iOS

just a test.

Article

Code

Concurrency and OpenGL ES

Apple programming guide.

OpenCV on iOS GPU usage

SO discussion.

GPU Computing Blogs >Metal

Talk on iOS GPU programming

with Swift and Metal at Realm Altconf.

The Supercomputer In Your Pocket: Metal & Swift

a video from the Swift Summit Conference 2015

https://github.com/FlexMonkey/MetalReactionDiffusion

https://github.com/FlexMonkey/ParticleLab

Memkite blog

startup intended to create deep learning library for iOS.

Swift and Metal example for General Purpose GPU Processing on Apple TVOS 9.0

Data Parallel Processing with Swift and Metal on GPU for iOS8

Example of Sharing Memory between GPU and CPU with Swift and Metal for iOS8

Metal by Example blog

objc-io article on Metal

Learn Machine Learning

Academic Torrents

. Sometimes awesome courses or datasets got deleted from their sites. But this doesn't mean, that they are lost.

Arxiv Sanity Preserver

a tool to keep pace with the ML research progress.

In 4 lists

Free Books

"Natural Language Processing with Python"

free online book.

Probabilistic Programming & Bayesian Methods for Hackers

An intro to Bayesian methods and probabilistic programming from a computation/understanding-first, mathematics-second point of view.

"Deep learning"

the book by Ian Goodfellow and Yoshua Bengio and Aaron Courville

In 3 lists

Free Courses

Original Machine Learning Coursera course

by Andrew Ng.

Machine learning playlist on Youtube

.

Heterogeneous Parallel Programming

course.

Deep Learning for Perception

by Virginia Tech, Electrical and Computer Engineering, Fall 2015: ECE 6504

CAP 5415 - Computer Vision

by UCF

In 2 lists

CS224d: Deep Learning for Natural Language Processing

by Stanford

In 4 lists

Machine Learning: 2014-2015 Course materials

by Oxford

In 3 lists

Stanford CS class CS231n: Convolutional Neural Networks for Visual Recognition.

Convolutional Neural Networks for Visual Recognition Stanford University; Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. This course is a deep dive into details of the deep learning…

In 3 lists

Deep Learning for Natural Language Processing (without Magic)

Videos

from Deep Learning Summer School, Montreal 2015.

Deep Learning Summer School, Montreal 2016

Other Lists

Awesome Machine Learning

The definitive curated list of machine learning frameworks, libraries and software organized by language. Covers Python, C++, Java, JavaScript, and more with comprehensive coverage of the ML ecosystem. CC0-1.0 licensed.

In 15 listsDetails

Machine Learning Courses

by @prakhar1989 – University Computer Science courses across the web.

In 8 listsDetails

Awesome Data Science

In 2 lists

Awesome Computer Vision

컴퓨터 비전 자료모음 (Awesome 계열)

In 7 listsDetails

Speech and language processing

General List of NLP related resources (mostly not for Ruby programmers).

In 5 listsDetails

The Rise of Chat Bots:

Useful Links, Articles, Libraries and Platforms by Pavlo Bashmakov.

Awesome Machine Learning for Cyber Security

Curated list of tools and resources related to the use of machine learning for cyber security

In 3 listsDetails
See category
94

Awesome Rust

rust-unofficial/awesome-rust

A curated list of Rust code and resources.

Fresh★ 60k1833 entriesPushed today
94

Awesome Mac

jaywcjlove/awesome-mac

 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

Fresh★ 115k1316 entriesPushed today
94

Awesome Python

vinta/awesome-python

Curated Python frameworks, libraries and resources.

Fresh★ 324k504 entriesPushed today
94

Awesome C++

fffaraz/awesome-cpp

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Fresh★ 74k1358 entriesPushed yesterday
94

Awesome Go

avelino/awesome-go

Curated Go frameworks and libraries.

Fresh★ 186k3119 entriesPushed yesterday
94

Awesome PHP

ziadoz/awesome-php

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Fresh★ 33k87 entriesPushed 2 days ago