Coder Social home page Coder Social logo

cafielo / ios_ml Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alexsosn/ios_ml

0.0 2.0 0.0 84 KB

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

Home Page: https://alexsosn.github.io/ml/2015/11/05/iOS-ML.html

ios_ml's Introduction

Machine Learning for iOS

Last Update: June 17, 2017.

Curated list of resources for iOS developers in following topics:

Most of the de-facto standard tools in domains listed above are written in iOS-unfriendly languages (Python/Java/R/Matlab) so finding something appropriate for your iOS application may be a challenging task.

This list consists mainly of libraries written in Objective-C, Swift, C, C++, JavaScript and some other languages if they can be easily ported to iOS. Also, links to some relevant web APIs, blog posts, videos and learning materials included.

Resources are sorted alphabetically or randomly. The order doesn't reflect my personal preferences or anything else. Some of the resources are awesome, some are great, some are fun, and some can serve as an inspiration.

Have fun!

Pull-requests are welcome here.

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

Currently CoreML is compatible (partially) with the following machine learning packages:

  • FANN - Fast Artifical Neural Network library; an implementation of neural networks.

  • lbimproved - DTW + kNN in C

  • Shark - provides libraries for the design of adaptive systems, including methods for linear and nonlinear optimization (e.g., evolutionary and gradient-based algorithms), kernel-based algorithms and neural networks, and other machine learning techniques. CocoaPods. Official site

  • YCML - A Machine Learning framework for Objective-C and Swift (OS X / iOS). The following algorithms are currently available: Gradient Descent Backpropagation, Resilient Backpropagation (RProp), Extreme Learning Machines (ELM), Forward Selection using Orthogonal Least Squares (for RBF Net), also with the PRESS statistic, Binary Restricted Boltzmann Machines (CD & PCD, Untested!). YCML also contains some optimization algorithms as support for deriving predictive models, although they can be used for any kind of problem: Gradient Descent (Single-Objective, Unconstrained), RProp Gradient Descent (Single-Objective, Unconstrained), NSGA-II (Multi-Objective, Constrained).

  • Swix - Swift implementation of NumPy.

  • Brain - Neural networks in JavaScript. Unmaintained.

  • April-ANN - APRIL-ANN toolkit (A Pattern Recognizer In Lua with ANNs). This toolkit incorporates ANN algorithms (as dropout, stacked denoising auto-encoders, convolutional NNs), with other pattern recognition methods as HMMs among others. Additionally, in experimental stage, it is possible to perform automatic differentiation, for advanced ML research. Potentially can be ported for iOS.

  • Recommender - A C library for product recommendations/suggestions using collaborative filtering (CF).

  • SNNeuralNet - A neural network library for Objective-C based on brain.js, for iOS and Mac OS X.

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

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

  • Swift-AI - 3-layer NN.

  • EERegression - General purpose multivaritate and quadratic Regression library for Swift 2.1

  • SwiftSimpleNeuralNetwork - Feed forward and back propagation.

  • STEM - Swift Tensor Engine for Machine-learning

  • multilinear-math - Swift library for tensor operations, machine learning and artificial intelligence

  • MLKit - regressions, cross-validation, data splitting.

  • dlib is a C++ framework which contains 30+ machine learning algorithms and different useful additions. It's relatively easy to port it to iOS: you just need to get rid of GUI and http-related source files.

  • Mendel - Genetic algorithms in Swift.

  • Kalvar Lin's libraries

  • Bender - Framework for building fast NNs. Supports TensorFlow models. It uses Metal under the hood.
  • Birdbrain - RNNs and FF NNs on top of Metal and Accelerate. Not ready for production.
  • 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.
  • BrainCore - simple but fast neural network framework written in Swift. It uses Metal framework to be as fast as possible. ReLU, LSTM, L2 ...
  • Caffe - A deep learning framework developed with cleanliness, readability, and speed in mind. GitHub. [BSD]
  • Caffe2 - a cross-platform framework made with expression, speed, and modularity in mind.
  • Convnet.js - ConvNetJS is a Javascript library for training Deep Learning models by Andrej Karpathy. GitHub
  • Deep Belief SDK - The SDK for Jetpac's iOS Deep Belief image recognition framework
  • 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.
  • KSJNeuralNetwork - A Neural Network Inference Library Built atop BNNS and MPS
  • MetalPerformanceShaders - CNNs on GPU from Apple.
  • MXNet - MXNet is a deep learning framework designed for both efficiency and flexibility.
  • NNPACK - Acceleration package for neural networks on multi-core CPUs. Prisma uses this library in the mobile app.
  • Quantized-CNN - compressed convolutional neural networks for Mobile Devices
  • 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 to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API.
  • tiny-dnn - header only, dependency-free deep learning framework in C++11.
  • Torch is a scientific computing framework with wide support for machine learning algorithms.
  • 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.
  • Word2Vec - Original C implementation of Word2Vec Deep Learning algorithm. Works on iPhone like a charm.

Deep Learning

Traditional Computer Vision

NLP

Other

Other related staff

  • 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]
  • 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.
  • Surge from Mattt
  • 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)
  • SigmaSwiftStatistics - A collection of functions for statistical calculation written in Swift.
  • SORandom - Collection of functions for generating psuedorandom variables from various distributions
  • RandKit - Swift framework for random numbers & distributions.
  • fmincg-c - Conjugate gradient implementation in C
  • libLBFGS - a C library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)
  • SwiftOptimizer - QuantLib Swift port.
  • 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.
  • 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.
  • 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.
  • iSwift - Swift kernel for IPython notebook.

Regular mobile ML

Accidental mobile ML

Other

Metal

ios_ml's People

Contributors

alexsosn avatar bryant1410 avatar cweilemann avatar gitter-badger avatar kalvar avatar rockfordwei avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.