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

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 ? Yes Yes Yes Yes Yes
Caffe Berkeley Vision and Learning Center BSD license Yes Linux, Mac OS X, Windows[2] C++ Python, MATLAB Yes Under development[3] Yes Yes Yes[4] Yes Yes No ?
Deeplearning4j Skymind engineering team; Deeplearning4j community; originally Adam Gibson Apache 2.0 Yes Linux, Mac OS X, Windows, Android (Cross-platform) java Java, Scala, Clojure, Python (Keras) Yes On roadmap[5] Yes[6] Computational Graph Yes[7] Yes Yes Yes Yes[8]
Dlib Davis King Boost Software License Yes Cross-Platform C++ C++ Yes No Yes Yes Yes No Yes Yes Yes
Keras François Chollet MIT license Yes Linux, Mac OS X, Windows Python Python, R Only if using Theano as backend Under development for the Theano backend (and on roadmap for the TensorFlow backend) Yes Yes Yes[9] Yes Yes Yes Yes[10]
MatConvNet Andrea Vedaldi,Karel Lenc BSD license Yes Windows, Linux[11] (OSX via Docker on roadmap) C++ MATLAB, C++, No No Yes Yes Yes Yes Yes No Yes
Microsoft Cognitive Toolkit Microsoft Research MIT license[12] Yes Windows, Linux[13] (OSX via Docker on roadmap) C++ Python, C++, Command line,[14] BrainScript[15] (.NET on roadmap[16]) Yes[17] No Yes Yes Yes[18] Yes[19] Yes[19] No[20] Yes[21]
MXNet Distributed (Deep) Machine Learning Community Apache 2.0 Yes Linux, Mac OS X, Windows,[22][23] AWS, Android,[24] iOS, JavaScript[25] Small C++ core library C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl Yes On roadmap[26] Yes Yes[27] Yes[28] Yes Yes Yes Yes[29]
Neural Designer Artelnics Proprietary No Linux, Mac OS X, Windows 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 ?
TensorFlow Google Brain team Apache 2.0 Yes Linux, Mac OS X, Windows[30] C++, Python Python (Keras), C/C++, Java, Go, R[31] No On roadmap[32][33] Yes Yes[34] Yes[35] Yes Yes Yes Yes
Theano Université de Montréal BSD license Yes Cross-platform Python Python Yes Under development[36] Yes Yes[37][38] Through Lasagne's model zoo[39] Yes Yes Yes Yes[40]
Torch Ronan Collobert, Koray Kavukcuoglu, Clement Farabet BSD license Yes Linux, Mac OS X, Windows,[41] Android,[42] iOS C, Lua Lua, LuaJIT,[43] C, utility library for C++/OpenCL[44] Yes Third party implementations[45][46] Yes[47][48] Through Twitter's Autograd[49] Yes[50] Yes Yes Yes Yes[51]
Wolfram Mathematica Wolfram Research Proprietary No Windows, Mac OS X, Linux, Cloud computing C++ Wolfram Language No No Yes Yes Yes[52] Yes 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

See also

References

  1. Atilim Gunes Baydin; Barak A. Pearlmutter; Alexey Andreyevich Radul; Jeffrey Mark Siskind (20 February 2015). "Automatic differentiation in machine learning: a survey". arXiv:1502.05767Freely accessible [cs.LG].
  2. "Microsoft/caffe". GitHub.
  3. "OpenCL Caffe".
  4. "Caffe Model Zoo".
  5. "Support for Open CL · Issue #27 · deeplearning4j/nd4j". GitHub.
  6. "N-Dimensional Scientific Computing for Java".
  7. Chris Nicholson; Adam Gibson. "Deeplearning4j Models".
  8. Deeplearning4j. "Deeplearning4j on Spark". Deeplearning4j.
  9. https://keras.io/applications/
  10. Does Keras support using multiple GPUs? · Issue #2436 · fchollet/keras
  11. "Setup CNTK on your machine". GitHub.
  12. "CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub". GitHub.
  13. "Setup CNTK on your machine". GitHub.
  14. "CNTK usage overview". GitHub.
  15. "BrainScript Network Builder". GitHub.
  16. ".NET Support · Issue #960 · Microsoft/CNTK". GitHub.
  17. "How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK". GitHub.
  18. https://github.com/Microsoft/CNTK/issues/140#issuecomment-186466820
  19. 1 2 "CNTK - Computational Network Toolkit". Microsoft Corporation.
  20. url=https://github.com/Microsoft/CNTK/issues/534
  21. "Multiple GPUs and machines". Microsoft Corporation.
  22. "Releases · dmlc/mxnet". Github.
  23. "Installation Guide — mxnet documentation". Readthdocs.
  24. "MXNet Smart Device". ReadTheDocs.
  25. "MXNet.js". Github.
  26. "Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet". GitHub.
  27. http://mxnet.readthedocs.io/
  28. "Model Gallery". GitHub.
  29. "Run MXNet on Multiple CPU/GPUs with Data Parallel". GitHub.
  30. https://developers.googleblog.com/2016/11/tensorflow-0-12-adds-support-for-windows.html
  31. interface), JJ Allaire (R; RStudio; Eddelbuettel, Dirk; Golding, Nick; Tang, Yuan; Tutorials), Google Inc (Examples and (2017-05-26), tensorflow: R Interface to TensorFlow, retrieved 2017-06-14
  32. "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub". GitHub. January 23, 2017. Retrieved May 21, 2017.
  33. "OpenCL support · Issue #22 · tensorflow/tensorflow". GitHub.
  34. https://www.tensorflow.org/
  35. https://github.com/tensorflow/models
  36. "Using the GPU — Theano 0.8.2 documentation".
  37. http://deeplearning.net/software/theano/library/gradient.html
  38. https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
  39. "Recipes/modelzoo at master · Lasagne/Recipes · GitHub". GitHub.
  40. Using multiple GPUs — Theano 0.8.2 documentation
  41. https://github.com/torch/torch7/wiki/Windows
  42. "GitHub - soumith/torch-android: Torch-7 for Android". GitHub.
  43. "Torch7: A Matlab-like Environment for Machine Learning" (PDF).
  44. "GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library". GitHub.
  45. "Cheatsheet". GitHub.
  46. "cltorch". GitHub.
  47. "Torch CUDA backend". GitHub.
  48. "Torch CUDA backend for nn". GitHub.
  49. https://github.com/twitter/torch-autograd
  50. "ModelZoo". GitHub.
  51. https://github.com/torch/torch7/wiki/Cheatsheet#distributed-computing--parallel-processing
  52. http://blog.stephenwolfram.com/2017/03/the-rd-pipeline-continues-launching-version-11-1/
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.