Jump to content

User:MaryGaulke/sandbox/Comparison of deep learning software

From Wikipedia, the free encyclopedia

Deep learning software by name[edit]

Software Creator Software license[a] 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)
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 ?
Caffe2 Facebook Apache 2.0 Yes Linux, Mac OS X, Windows[5] C++, Python Python, MATLAB Yes Under development[6] Yes Yes Yes[7] Yes Yes No Yes
Deeplearning4j Skymind engineering team; Deeplearning4j community; originally Adam Gibson Apache 2.0 Yes Linux, Mac OS X, Windows, Android (Cross-platform) C++, Java Java, Scala, Clojure, Python (Keras), Kotlin Yes On roadmap[8] Yes[9][10] Computational Graph Yes[11] Yes Yes Yes Yes[12]
Dlib Davis King Boost Software License Yes Cross-Platform C++ C++ Yes No Yes Yes Yes No Yes Yes Yes
Gensim
Keras François Chollet MIT license Yes Linux, Mac OS X, Windows Python Python, R Only if using Theano or MXNet as backend Under development for the Theano backend (and on roadmap for the TensorFlow backend) Yes Yes Yes[13] Yes Yes Yes Yes[14]
MatConvNet Andrea Vedaldi, Karel Lenc BSD license Yes Windows, Linux[15] (OSX via Docker on roadmap) C++ MATLAB, C++, No No Yes Yes Yes Yes Yes No Yes
MATLAB + Neural Network Toolbox MathWorks Proprietary No Linux, macOS, Windows C, C++, Java, MATLAB MATLAB No No Train with Parallel Computing Toolbox and generate CUDA code with GPU Coder[16] No Yes[17][18] Yes[17] Yes[17] No With Parallel Computing Toolbox[19]
Microsoft Cognitive Toolkit Microsoft Research MIT license[20] Yes Windows, Linux[15] (OSX via Docker on roadmap) C++ Python (Keras), C++, Command line,[21] BrainScript[22] (.NET on roadmap[23]) Yes[24] No Yes Yes Yes[25] Yes[26] Yes[26] No[27] Yes[28]
MXNet Distributed (Deep) Machine Learning Community Apache 2.0 Yes Linux, Mac OS X, Windows,[29][30] AWS, Android,[31] iOS, JavaScript[32] Small C++ core library C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl Yes On roadmap[33] Yes Yes[34] Yes[35] Yes Yes Yes Yes[36]
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 ?
Paddle
Pytorch
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
TensorFlow Google Brain team Apache 2.0 Yes Linux, Mac OS X, Windows[37] C++, Python Python (Keras), C/C++, Java, Go, R[38] No On roadmap[39] but already with SYCL[40] support Yes Yes[41] Yes[42] Yes Yes Yes Yes
Theano Université de Montréal BSD license Yes Cross-platform Python Python (Keras) Yes Under development[43] Yes Yes[44][45] Through Lasagne's model zoo[46] Yes Yes Yes Yes[47]
Torch Ronan Collobert, Koray Kavukcuoglu, Clement Farabet BSD license Yes Linux, Mac OS X, Windows,[48] Android,[49] iOS C, Lua Lua, LuaJIT,[50] C, utility library for C++/OpenCL[51] Yes Third party implementations[52][53] Yes[54][55] Through Twitter's Autograd[56] Yes[57] Yes Yes Yes Yes[58]
Wolfram Mathematica Wolfram Research Proprietary No Windows, Mac OS X, Linux, Cloud computing C++ Wolfram Language No No Yes Yes Yes[59] 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
  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.05767 [cs.LG].
  2. ^ "Microsoft/caffe". GitHub.
  3. ^ "OpenCL Caffe".
  4. ^ "Caffe Model Zoo".
  5. ^ "Caffe2 Github Repo".
  6. ^ "OpenCL Caffe".
  7. ^ "Caffe Model Zoo".
  8. ^ "Support for Open CL · Issue #27 · deeplearning4j/nd4j". GitHub.
  9. ^ "N-Dimensional Scientific Computing for Java".
  10. ^ "Comparing Top Deep Learning Frameworks". Deeplearning4j.
  11. ^ Chris Nicholson; Adam Gibson. "Deeplearning4j Models".
  12. ^ Deeplearning4j. "Deeplearning4j on Spark". Deeplearning4j.{{cite web}}: CS1 maint: numeric names: authors list (link)
  13. ^ https://keras.io/applications/
  14. ^ Does Keras support using multiple GPUs? · Issue #2436 · fchollet/keras
  15. ^ a b "Setup CNTK on your machine". GitHub.
  16. ^ "GPU Coder - MATLAB & Simulink". MathWorks. Retrieved 13 November 2017.
  17. ^ a b c "Neural Network Toolbox - MATLAB". MathWorks. Retrieved 13 November 2017.
  18. ^ "Deep Learning Models - MATLAB & Simulink". MathWorks. Retrieved 13 November 2017.
  19. ^ "Parallel Computing Toolbox - MATLAB". MathWorks. Retrieved 13 November 2017.
  20. ^ "CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub". GitHub.
  21. ^ "CNTK usage overview". GitHub.
  22. ^ "BrainScript Network Builder". GitHub.
  23. ^ ".NET Support · Issue #960 · Microsoft/CNTK". GitHub.
  24. ^ "How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK". GitHub.
  25. ^ https://github.com/Microsoft/CNTK/issues/140#issuecomment-186466820
  26. ^ a b "CNTK - Computational Network Toolkit". Microsoft Corporation.
  27. ^ url=https://github.com/Microsoft/CNTK/issues/534
  28. ^ "Multiple GPUs and machines". Microsoft Corporation.
  29. ^ "Releases · dmlc/mxnet". Github.
  30. ^ "Installation Guide — mxnet documentation". Readthdocs.
  31. ^ "MXNet Smart Device". ReadTheDocs.
  32. ^ "MXNet.js". Github.
  33. ^ "Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet". GitHub.
  34. ^ http://mxnet.readthedocs.io/
  35. ^ "Model Gallery". GitHub.
  36. ^ "Run MXNet on Multiple CPU/GPUs with Data Parallel". GitHub.
  37. ^ https://developers.googleblog.com/2016/11/tensorflow-0-12-adds-support-for-windows.html
  38. ^ 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 {{citation}}: |first6= has generic name (help)
  39. ^ "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub". GitHub. January 23, 2017. Retrieved May 21, 2017.
  40. ^ "OpenCL support · Issue #22 · tensorflow/tensorflow". GitHub.
  41. ^ https://www.tensorflow.org/
  42. ^ https://github.com/tensorflow/models
  43. ^ "Using the GPU — Theano 0.8.2 documentation".
  44. ^ http://deeplearning.net/software/theano/library/gradient.html
  45. ^ https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
  46. ^ "Recipes/modelzoo at master · Lasagne/Recipes · GitHub". GitHub.
  47. ^ Using multiple GPUs — Theano 0.8.2 documentation
  48. ^ https://github.com/torch/torch7/wiki/Windows
  49. ^ "GitHub - soumith/torch-android: Torch-7 for Android". GitHub.
  50. ^ "Torch7: A Matlab-like Environment for Machine Learning" (PDF).
  51. ^ "GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library". GitHub.
  52. ^ "Cheatsheet". GitHub.
  53. ^ "cltorch". GitHub.
  54. ^ "Torch CUDA backend". GitHub.
  55. ^ "Torch CUDA backend for nn". GitHub.
  56. ^ https://github.com/twitter/torch-autograd
  57. ^ "ModelZoo". GitHub.
  58. ^ https://github.com/torch/torch7/wiki/Cheatsheet#distributed-computing--parallel-processing
  59. ^ http://blog.stephenwolfram.com/2017/03/the-rd-pipeline-continues-launching-version-11-1/