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

See also

References

  1. Atilim Gunes Baydin; Barak A. Pearlmutter; Alexey Andreyevich Radul; Jeffrey Mark Siskind (20 Feb 2015). "Automatic differentiation in machine learning: a survey". arXiv:1502.05767Freely accessible [cs.LG].
  2. http://caffe.berkeleyvision.org/
  3. "Caffe".
  4. "GitHub - sh1r0/caffe-android-lib: Porting caffe to android platform". GitHub.
  5. "GitHub - Microsoft/caffe: Caffe on both Linux and Windows". GitHub.
  6. "GitHub - niuzhiheng/caffe: Caffe". GitHub.
  7. "Caffe".
  8. "GitHub - BVLC/caffe at opencl". GitHub.
  9. "OpenCL Backend by lunochod · Pull Request #2195 · BVLC/caffe". GitHub.
  10. "GitHub - amd/OpenCL-caffe: OpenCL version of caffe developed by AMD research lab". GitHub.
  11. "Model Zoo". GitHub.
  12. "RBM layer ? (+DBN) · Issue #1207 · BVLC/caffe". GitHub.
  13. caffe/multigpu.md at master · BVLC/caffe
  14. 1 2 "Chainer Official Site". GitHub.
  15. "Chainer OpenCL support".
  16. "Chainer Caffe Reference Model Support". GitHub.
  17. Using GPU(s) in Chainer — Chainer 1.17.0 documentation
  18. "CNN Official Repository". GitHub.
  19. "Support for Open CL · Issue #27 · deeplearning4j/nd4j". GitHub.
  20. "N-Dimensional Scientific Computing for Java".
  21. Chris Nicholson; Adam Gibson. "Deeplearning4j Models".
  22. Deeplearning4j. "Deeplearning4j on Spark". Deeplearning4j.
  23. https://github.com/albertomontesg/keras-model-zoo
  24. Does Keras support using multiple GPUs? · Issue #2436 · fchollet/keras
  25. Knet.jl
  26. "CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub". GitHub.
  27. "Setup CNTK on your machine". GitHub.
  28. "CNTK usage overview". GitHub.
  29. "BrainScript Network Builder". GitHub.
  30. ".NET Support · Issue #960 · Microsoft/CNTK". GitHub.
  31. "How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK". GitHub.
  32. https://github.com/Microsoft/CNTK/issues/140#issuecomment-186466820
  33. 1 2 Microsoft Corporation. "CNTK - Computational Network Toolkit". Microsoft Corporation.
  34. url=https://github.com/Microsoft/CNTK/issues/534
  35. Microsoft Corporation. "Multiple GPUs and machines". Microsoft Corporation.
  36. https://github.com/dmlc/mxnet
  37. "Releases · dmlc/mxnet". Github.
  38. "Installation Guide — mxnet documentation". Readthdocs.
  39. "MXNet Smart Device". ReadTheDocs.
  40. "MXNet.js". Github.
  41. "Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet". GitHub.
  42. http://mxnet.readthedocs.io/
  43. "Model Gallery". GitHub.
  44. "Run MXNet on Multiple CPU/GPUs with Data Parallel". GitHub.
  45. http://www.paddlepaddle.org/
  46. https://developers.googleblog.com/2016/11/tensorflow-0-12-adds-support-for-windows.html
  47. "TensorFlow C++ Session API reference documentation". TensorFlow.
  48. 1 2 3 "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub". GitHub.
  49. "OpenCL support · Issue #22 · tensorflow/tensorflow". GitHub.
  50. https://www.tensorflow.org/
  51. https://github.com/tensorflow/models
  52. 1 2 3 http://tensorlayer.readthedocs.io
  53. "Windows Support and Documentation · Issue #17 · tensorflow/tensorflow". GitHub.
  54. "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub". GitHub.
  55. "TensorFlow C++ Session API reference documentation". TensorFlow.
  56. "OpenCL support · Issue #22 · tensorflow/tensorflow". GitHub.
  57. "Using the GPU — Theano 0.8.2 documentation".
  58. http://deeplearning.net/software/theano/library/gradient.html
  59. https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
  60. "Recipes/modelzoo at master · Lasagne/Recipes · GitHub". GitHub.
  61. Using multiple GPUs — Theano 0.8.2 documentation
  62. "GitHub - soumith/torch-android: Torch-7 for Android". GitHub.
  63. https://github.com/torch/torch7/wiki/Windows
  64. "Torch7: A Matlab-like Environment for Machine Learning" (PDF).
  65. "GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library". GitHub.
  66. "Cheatsheet". GitHub.
  67. "cltorch". GitHub.
  68. "Torch CUDA backend". GitHub.
  69. "Torch CUDA backend for nn". GitHub.
  70. https://github.com/twitter/torch-autograd
  71. "ModelZoo". GitHub.
  72. https://github.com/torch/torch7/wiki/Cheatsheet#distributed-computing--parallel-processing
  73. "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.