Comparison of deep learning software
The following table compares some of the most popular software frameworks, libraries and computer programs for deep learning.
Deep learning software by name
This list is incomplete; you can help by expanding it.
Software | Creator | Software license[lower-alpha 1] | Open source | Platform | Written in | Interface | OpenMP support | OpenCL support | CUDA support | Automatic differentiation[1] | Has pretrained models | Recurrent nets | Convolutional nets | RBM/DBNs | Parallel execution (multi node) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Apache Singa | Apache Incubator | Apache 2.0 | Yes | Linux, Mac OS X, Windows | C++ | Python, C++, Java | No | Yes | Yes | ? | No | Yes | Yes | Yes | Yes |
Caffe[2] | Berkeley Vision and Learning Center, community contributors | BSD 2-Clause License | Yes | Ubuntu, OS X, AWS,[3] unofficial Android port,[4] Windows support by Microsoft Research,[5] unofficial Windows port[6] | C++ | C++, command line, Python, MATLAB[7] | No | Branch,[8] pull request,[9] third party implementation[10] | Yes | ? | Yes[11] | Yes | Yes | No[12] | Yes[13] |
Chainer[14] | Preferred Networks, inc., Preferred Infrastructure, inc.[14] | MIT license | Yes | Linux, Mac OS X Windows | Python | Python | No | On roadmap[15] | Yes | Yes | Through Caffe's model zoo[16] | Yes | Yes | Yes | Yes[17] |
cnn[18] | Carnegie Mellon School of Computer Science | Apache 2.0 | Yes | Linux | C++ | C++, Python | No | No | Yes | Yes | No | Yes | Yes | No | No |
Deeplearning4j | Skymind engineering team; Deeplearning4j community; originally Adam Gibson | Apache 2.0 | Yes | Linux, Ubuntu, Windows, OSX, Android (Cross-platform) | C, C++ | Java, Scala, Clojure | Yes | On roadmap[19] | Yes[20] | Computational Graph | Yes[21] | Yes | Yes | Yes | Yes[22] |
Keras | François Chollet | MIT license | Yes | Linux, Mac OS X, Windows | Python | Python | Only if using Theano as backend | Under development for the Theano backend (and on roadmap for the TensorFlow backend) | Yes | Yes | Third party implementation[23] | Yes | Yes | Yes | Yes[24] |
Knet.jl[25] | Deniz Yuret | MIT license | Yes | Linux, macOS | Julia | Julia | ? | ? | Yes | Yes | ? | Yes | Yes | ? | ? |
Microsoft Cognitive Toolkit - CNTK | Microsoft Research | MIT license[26] | Yes | Windows, Linux[27] (OSX via Docker on roadmap) | C++ | Python, C++, Command line,[28] BrainScript[29] (.NET on roadmap[30]) | Yes[31] | No | Yes | Yes | Yes[32] | Yes[33] | Yes[33] | No[34] | Yes[35] |
MXNet[36] | Distributed (Deep) Machine Learning Community | Apache 2.0 | Yes | Ubuntu, OS X, Windows,[37][38] AWS, Android,[39] iOS, JavaScript[40] | Small C++ core library | C++, Python, Julia, Matlab, JavaScript, Go, R, Scala | Yes | On roadmap[41] | Yes | Yes[42] | Yes[43] | Yes | Yes | Yes | Yes[44] |
Neural Designer | Artelnics | Proprietary | No | Windows, OS X, Linux | C++ | Graphical user interface | Yes | No | No | ? | ? | No | No | No | ? |
OpenNN | Artelnics | GNU LGPL | Yes | Cross platform | C++ | C++ | Yes | No | No | ? | ? | No | No | No | ? |
PaddlePaddle[45] | Baidu | Apache 2.0 | Yes | Linux, Mac OS X | C++ | Python, C++ | No | No | Yes | ? | Yes | Yes | Yes | ? | Yes |
TensorFlow | Google Brain team | Apache 2.0 | Yes | Linux, Mac OS X, Windows[46] | C++, Python | Python, (C/C++ public API only for executing graphs[47]) | No | On roadmap[48][49] | Yes | Yes[50] | Yes[51] | Yes | Yes | Yes | Yes |
TensorLayer[52] | Imperial College | Apache 2.0 | Yes | Linux, Mac OS X (Windows support on roadmap[53][48][54]) | Python | Python, (C/C++ public API only for executing graphs[55]) | No | On roadmap[48][56] | Yes | Yes[52] | Yes[52] | Yes | Yes | Yes | Yes |
Theano | Université de Montréal | BSD license | Yes | Cross-platform | Python | Python | Yes | Under development[57] | Yes | Yes[58][59] | Through Lasagne's model zoo[60] | Yes | Yes | Yes | Yes[61] |
Torch | Ronan Collobert, Koray Kavukcuoglu, Clement Farabet | BSD License | Yes | Linux, Android,[62] Mac OS X, iOS, Windows[63] | C, Lua | Lua, LuaJIT,[64] C, utility library for C++/OpenCL[65] | Yes | Third party implementations[66][67] | Yes[68][69] | Through Twitter's Autograd[70] | Yes[71] | Yes | Yes | Yes | Yes[72] |
Wolfram Mathematica[73] | Wolfram Research | Proprietary | No | Windows, OS X, Linux, Cloud_computing | C++ | Command line, Java, C++ | No | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes |
- ↑ Licenses here are a summary, and are not taken to be complete statements of the licenses. Some libraries may use other libraries internally under different licenses
Related software
- Neural Engineering Object (NENGO) – A graphical and scripting software for simulating large-scale neural systems
- Numenta Platform for Intelligent Computing – Numenta's open source implementation of their hierarchical temporal memory model
See also
- Deep learning#Software libraries
- List of datasets for machine learning research
- Comparison of datasets in machine learning
- Comparison of numerical analysis software
- Comparison of statistical packages
- List of numerical analysis software
References
- ↑ Atilim Gunes Baydin; Barak A. Pearlmutter; Alexey Andreyevich Radul; Jeffrey Mark Siskind (20 Feb 2015). "Automatic differentiation in machine learning: a survey". arXiv:1502.05767 [cs.LG].
- ↑ http://caffe.berkeleyvision.org/
- ↑ "Caffe".
- ↑ "GitHub - sh1r0/caffe-android-lib: Porting caffe to android platform". GitHub.
- ↑ "GitHub - Microsoft/caffe: Caffe on both Linux and Windows". GitHub.
- ↑ "GitHub - niuzhiheng/caffe: Caffe". GitHub.
- ↑ "Caffe".
- ↑ "GitHub - BVLC/caffe at opencl". GitHub.
- ↑ "OpenCL Backend by lunochod · Pull Request #2195 · BVLC/caffe". GitHub.
- ↑ "GitHub - amd/OpenCL-caffe: OpenCL version of caffe developed by AMD research lab". GitHub.
- ↑ "Model Zoo". GitHub.
- ↑ "RBM layer ? (+DBN) · Issue #1207 · BVLC/caffe". GitHub.
- ↑ caffe/multigpu.md at master · BVLC/caffe
- 1 2 "Chainer Official Site". GitHub.
- ↑ "Chainer OpenCL support".
- ↑ "Chainer Caffe Reference Model Support". GitHub.
- ↑ Using GPU(s) in Chainer — Chainer 1.17.0 documentation
- ↑ "CNN Official Repository". GitHub.
- ↑ "Support for Open CL · Issue #27 · deeplearning4j/nd4j". GitHub.
- ↑ "N-Dimensional Scientific Computing for Java".
- ↑ Chris Nicholson; Adam Gibson. "Deeplearning4j Models".
- ↑ Deeplearning4j. "Deeplearning4j on Spark". Deeplearning4j.
- ↑ https://github.com/albertomontesg/keras-model-zoo
- ↑ Does Keras support using multiple GPUs? · Issue #2436 · fchollet/keras
- ↑ Knet.jl
- ↑ "CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub". GitHub.
- ↑ "Setup CNTK on your machine". GitHub.
- ↑ "CNTK usage overview". GitHub.
- ↑ "BrainScript Network Builder". GitHub.
- ↑ ".NET Support · Issue #960 · Microsoft/CNTK". GitHub.
- ↑ "How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK". GitHub.
- ↑ https://github.com/Microsoft/CNTK/issues/140#issuecomment-186466820
- 1 2 Microsoft Corporation. "CNTK - Computational Network Toolkit". Microsoft Corporation.
- ↑ url=https://github.com/Microsoft/CNTK/issues/534
- ↑ Microsoft Corporation. "Multiple GPUs and machines". Microsoft Corporation.
- ↑ https://github.com/dmlc/mxnet
- ↑ "Releases · dmlc/mxnet". Github.
- ↑ "Installation Guide — mxnet documentation". Readthdocs.
- ↑ "MXNet Smart Device". ReadTheDocs.
- ↑ "MXNet.js". Github.
- ↑ "Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet". GitHub.
- ↑ http://mxnet.readthedocs.io/
- ↑ "Model Gallery". GitHub.
- ↑ "Run MXNet on Multiple CPU/GPUs with Data Parallel". GitHub.
- ↑ http://www.paddlepaddle.org/
- ↑ https://developers.googleblog.com/2016/11/tensorflow-0-12-adds-support-for-windows.html
- ↑ "TensorFlow C++ Session API reference documentation". TensorFlow.
- 1 2 3 "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub". GitHub.
- ↑ "OpenCL support · Issue #22 · tensorflow/tensorflow". GitHub.
- ↑ https://www.tensorflow.org/
- ↑ https://github.com/tensorflow/models
- 1 2 3 http://tensorlayer.readthedocs.io
- ↑ "Windows Support and Documentation · Issue #17 · tensorflow/tensorflow". GitHub.
- ↑ "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub". GitHub.
- ↑ "TensorFlow C++ Session API reference documentation". TensorFlow.
- ↑ "OpenCL support · Issue #22 · tensorflow/tensorflow". GitHub.
- ↑ "Using the GPU — Theano 0.8.2 documentation".
- ↑ http://deeplearning.net/software/theano/library/gradient.html
- ↑ https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
- ↑ "Recipes/modelzoo at master · Lasagne/Recipes · GitHub". GitHub.
- ↑ Using multiple GPUs — Theano 0.8.2 documentation
- ↑ "GitHub - soumith/torch-android: Torch-7 for Android". GitHub.
- ↑ https://github.com/torch/torch7/wiki/Windows
- ↑ "Torch7: A Matlab-like Environment for Machine Learning" (PDF).
- ↑ "GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library". GitHub.
- ↑ "Cheatsheet". GitHub.
- ↑ "cltorch". GitHub.
- ↑ "Torch CUDA backend". GitHub.
- ↑ "Torch CUDA backend for nn". GitHub.
- ↑ https://github.com/twitter/torch-autograd
- ↑ "ModelZoo". GitHub.
- ↑ https://github.com/torch/torch7/wiki/Cheatsheet#distributed-computing--parallel-processing
- ↑ "Mathematica documentation on deep learning". Wolfram Research.
This article is issued from Wikipedia - version of the 12/4/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.