Comparison of deep learning software

From Wikipedia, the free encyclopedia

Page Module:Message box/ambox.css has no content.

Page Module:Message box/ambox.css has no content.

Template:Short description

The following tables compare notable software frameworks, libraries, and computer programs for deep learning applications.

Deep learning software by name

Template:Sort under

Software Creator Initial release Software license[a] Template:Verth Platform Written in Interface OpenMP support OpenCL support CUDA support Template:Verth Automatic differentiation[1] Has pretrained models Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth
BigDL Jason Dai (Intel) 2016 Apache 2.0 Yes Apache Spark Scala Scala, Python No No Yes Yes Yes Yes
Caffe Berkeley Vision and Learning Center 2013 Template:Open source Yes Linux, macOS, Windows[2] C++ Python, MATLAB, C++ Yes Under development[3] Yes No Yes Yes[4] Yes Yes No ? No[5]
Chainer Preferred Networks 2015 Template:Open source Yes Linux, macOS Python Python No No Yes No Yes Yes Yes Yes No Yes No[6]
Deeplearning4j Skymind engineering team; Deeplearning4j community; originally Adam Gibson 2014 Apache 2.0 Yes Linux, macOS, Windows, Android (Cross-platform) C++, Java Java, Scala, Clojure, Python (Keras), Kotlin Yes No[7] Yes[8][9] No Computational Graph Yes[10] Yes Yes Yes Yes[11] Yes
DeepSpeed Microsoft 2019 Apache 2.0 Yes Linux, macOS, Windows Python, C++, CUDA Python No No Yes No Yes Yes Yes Yes No Yes Yes
Dlib Davis King 2002 Boost Software License Yes Cross-platform C++ C++, Python Yes No Yes No Yes Yes No Yes Yes Yes Yes
Fastai fast.ai 2018 Apache 2.0 Yes Linux, macOS, Windows Python, CUDA Python No No Yes No Yes Yes Yes Yes No Yes Yes
Flux Mike Innes 2017 MIT Yes Linux, macOS, Windows (Cross-platform) Julia Julia Yes No Yes Yes[12] Yes Yes No Yes Yes
Horovod Uber Technologies 2017 Apache 2.0 Yes Linux, macOS, Windows Python, C++, CUDA Python No No Yes No Yes Yes Yes Yes No Yes Yes
Intel Data Analytics Acceleration Library Intel 2015 Apache 2.0 Yes Linux, macOS, Windows on Intel CPU[13] C++, Python, Java C++, Python, Java[13] Yes No No No Yes No Yes Yes Yes
Intel Math Kernel Library 2017 [14] and later Intel 2017 Proprietary No Linux, macOS, Windows on Intel CPU[15] C/C++, DPC++, Fortran C[16] Yes[17] No No No Yes No Yes[18] Yes[18] No Yes
Google JAX Google 2018 Apache 2.0 Yes Linux, macOS, Windows Python Python Only on Linux No Yes No Yes Yes
Keras François Chollet 2015 MIT Yes Linux, macOS, Windows Python Python, R Only if using Theano as backend Can use Theano, Tensorflow or PlaidML as backends Yes No Yes Yes[19] Yes Yes No[20] Yes[21] Yes
MATLAB + Deep Learning Toolbox (formerly Neural Network Toolbox) MathWorks 1992 Proprietary No Linux, macOS, Windows C, C++, Java, MATLAB MATLAB No No Train with Parallel Computing Toolbox and generate CUDA code with GPU Coder[22] No Yes[23] Yes[24][25] Yes[24] Yes[24] Yes With Parallel Computing Toolbox[26] Yes
Microsoft Cognitive Toolkit (CNTK) Microsoft Research 2016 MIT[27] Yes Windows, Linux[28] (macOS via Docker on roadmap) C++ Python (Keras), C++, Command line,[29] BrainScript[30] (.NET on roadmap[31]) Yes[32] No Yes No Yes Yes[33] Yes[34] Yes[34] No[35] Yes[36] No[37]
MindSpore Huawei 2020 Apache 2.0 Yes Linux, Windows, macOS, EulerOS, openEuler, OpenHarmony, Oniro OS, HarmonyOS, Android C++, Rust, Julia, Python, ArkTS, Cangjie, Java (Lite)
ML.NET Microsoft 2018 MIT Yes Windows, Linux, macOS C#, C++ C#, F# Yes
Apache MXNet Apache Software Foundation 2015 Apache 2.0 Yes Linux, macOS, Windows,[38][39] AWS, Android,[40] iOS, JavaScript[41] Small C++ core library C++, Python, Julia, MATLAB, JavaScript, Go, R, Scala, Perl, Clojure Yes No Yes No Yes[42] Yes[43] Yes Yes Yes Yes[44] No
Neural Designer Artelnics 2014 Proprietary No Linux, macOS, Windows C++ Graphical user interface Yes No Yes No Analytical differentiation No No No No Yes Yes
OpenNN Artelnics 2003 GNU LGPL Yes Cross-platform C++ C++ Yes No Yes No ? Yes[45] No No No ? Yes
PlaidML Vertex.AI, Intel 2017 Apache 2.0 Yes Linux, macOS, Windows Python, C++, OpenCL Python, C++ ? Some OpenCL ICDs are not recognized No No Yes Yes Yes Yes Yes Yes
PyTorch Meta AI 2016 Template:Open source Yes Linux, macOS, Windows, Android[46] Python, C, C++, CUDA Python, C++, Julia, R[47] Yes Via separately maintained package[48][49][50] Yes Yes Yes Yes Yes Yes Yes[51] Yes Yes
PyTorch Lightning Lightning-AI (originally William Falcon)[52] 2019 Apache 2.0 Yes Linux, macOS, Windows Python Python Yes Via PyTorch Yes Yes Yes Yes Yes Yes Yes Yes[53] Yes
Apache SINGA Apache Software Foundation 2015 Apache 2.0 Yes Linux, macOS, Windows C++ Python, C++, Java No Supported in V1.0 Yes No ? Yes Yes Yes Yes Yes Yes
TensorFlow Google Brain 2015 Apache 2.0 Yes Linux, macOS, Windows,[54][55] Android C++, Python, CUDA Python (Keras), C/C++, Java, Go, JavaScript, R,[56] Julia, Swift No On roadmap[57] but already with SYCL[58] support Yes Yes Yes[59] Yes[60] Yes Yes Yes Yes Yes
TensorRT Nvidia 2017 Proprietary No Linux, Windows on Nvidia GPUs C++, Python, CUDA C++, Python No No Yes No No No No Yes No No Yes
Theano Université de Montréal 2007 Template:Open source Yes Cross-platform Python Python (Keras) Yes Under development[61] Yes No Yes[62][63] Through Lasagne's model zoo[64] Yes Yes Yes Yes[65] No
Torch Ronan Collobert, Koray Kavukcuoglu, Clement Farabet 2002 Template:Open source Yes Linux, macOS, Windows,[66] Android,[67] iOS C, Lua Lua, LuaJIT,[68] C, utility library for C++/OpenCL[69] Yes Third party implementations[70][71] Yes[72][73] No Through Twitter's Autograd[74] Yes[75] Yes Yes Yes Yes[66] No
RANT (Real-time Artificial Neural Tool)[76] Douglas Santry 2023 Template:Open source Yes Linux, macOS, Windows C++, Python C++, Python No No No No No Yes No Yes No No Yes
Wolfram Mathematica 10[77] and later Wolfram Research 2014 Proprietary No Windows, macOS, Linux, Cloud computing C++, Wolfram Language, CUDA Wolfram Language Yes No Yes No Yes Yes[78] Yes Yes Yes Yes[79] Yes
Software Creator Initial release Software license[a] Template:Verth Platform Written in Interface OpenMP support OpenCL support CUDA support Template:Verth Automatic differentiation[1] Has pretrained models Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth

Page Template:Reflist/styles.css has no content.

  1. ^ a b 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

Comparison of machine learning model compatibility

[<span title="Script error: No such module "decodeEncode".">further explanation needed]

Format name Design goal Compatible with other formats Self-contained DNN Model Pre-processing and Post-processing Run-time configuration for tuning & calibration DNN model interconnect Common platform
TensorFlow, Keras, Caffe, Torch Algorithm training No No / Separate files in most formats No No No Yes
ONNX Algorithm training Yes No / Separate files in most formats No No No Yes

See also

References

Page Template:Reflist/styles.css has no content.

  1. ^ a b Page Module:Citation/CS1/styles.css has no content.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. ^ Page Module:Citation/CS1/styles.css has no content."Microsoft/caffe". GitHub. 30 October 2021.
  3. ^ Page Module:Citation/CS1/styles.css has no content."Caffe: a fast open framework for deep learning". GitHub. July 19, 2019.
  4. ^ Page Module:Citation/CS1/styles.css has no content."Caffe | Model Zoo". caffe.berkeleyvision.org.
  5. ^ Page Module:Citation/CS1/styles.css has no content.GitHub - BVLC/caffe: Caffe: a fast open framework for deep learning., Berkeley Vision and Learning Center, 2019-09-25, retrieved 2019-09-25
  6. ^ Page Module:Citation/CS1/styles.css has no content.Preferred Networks Migrates its Deep Learning Research Platform to PyTorch, 2019-12-05, retrieved 2019-12-27
  7. ^ Page Module:Citation/CS1/styles.css has no content."Support for Open CL: Issue #27: deeplearning4j/nd4j". GitHub.
  8. ^ Page Module:Citation/CS1/styles.css has no content."N-Dimensional Scientific Computing for Java". Archived from the original on 2016-10-16. Retrieved 2016-02-05.
  9. ^ Page Module:Citation/CS1/styles.css has no content."Comparing Top Deep Learning Frameworks". Deeplearning4j. Archived from the original on 2017-11-07. Retrieved 2017-10-31.
  10. ^ Page Module:Citation/CS1/styles.css has no content.Chris Nicholson; Adam Gibson. "Deeplearning4j Models". Archived from the original on 2017-02-11. Retrieved 2016-03-02.
  11. ^ Page Module:Citation/CS1/styles.css has no content.Deeplearning4j. "Deeplearning4j on Spark". Deeplearning4j. Archived from the original on 2017-07-13. Retrieved 2016-09-01.{{cite web}}: CS1 maint: numeric names: authors list (link)
  12. ^ Page Module:Citation/CS1/styles.css has no content."Metalhead". FluxML. 29 October 2021.
  13. ^ a b Page Module:Citation/CS1/styles.css has no content."Intel® Data Analytics Acceleration Library (Intel® DAAL)". software.intel.com. November 20, 2018.
  14. ^ Page Module:Citation/CS1/styles.css has no content."Intel® Math Kernel Library Release Notes and New Features". Intel.
  15. ^ Page Module:Citation/CS1/styles.css has no content."Intel® Math Kernel Library (Intel® MKL)". software.intel.com. September 11, 2018.
  16. ^ Page Module:Citation/CS1/styles.css has no content."Deep Neural Network Functions". software.intel.com. May 24, 2019.
  17. ^ Page Module:Citation/CS1/styles.css has no content."Using Intel® MKL with Threaded Applications". software.intel.com. June 1, 2017.
  18. ^ a b Page Module:Citation/CS1/styles.css has no content."Intel® Xeon Phi™ Delivers Competitive Performance For Deep Learning—And Getting Better Fast". software.intel.com. March 21, 2019.
  19. ^ Page Module:Citation/CS1/styles.css has no content."Applications - Keras Documentation". keras.io.
  20. ^ Page Module:Citation/CS1/styles.css has no content."Is there RBM in Keras?: Issue #461: keras-team/keras". GitHub.
  21. ^ Page Module:Citation/CS1/styles.css has no content."Does Keras support using multiple GPUs?: Issue #2436: keras-team/keras". GitHub.
  22. ^ Page Module:Citation/CS1/styles.css has no content."GPU Coder - MATLAB & Simulink". MathWorks. Retrieved 13 November 2017.
  23. ^ Page Module:Citation/CS1/styles.css has no content."Automatic Differentiation Background - MATLAB & Simulink". MathWorks. September 3, 2019. Retrieved November 19, 2019.
  24. ^ a b c Page Module:Citation/CS1/styles.css has no content."Neural Network Toolbox - MATLAB". MathWorks. Retrieved 13 November 2017.
  25. ^ Page Module:Citation/CS1/styles.css has no content."Deep Learning Models - MATLAB & Simulink". MathWorks. Retrieved 13 November 2017.
  26. ^ Page Module:Citation/CS1/styles.css has no content."Parallel Computing Toolbox - MATLAB". MathWorks. Retrieved 13 November 2017.
  27. ^ Page Module:Citation/CS1/styles.css has no content."CNTK/LICENSE.md at master: Microsoft/CNTK". GitHub.
  28. ^ Page Module:Citation/CS1/styles.css has no content."Setup CNTK on your machine". GitHub.
  29. ^ Page Module:Citation/CS1/styles.css has no content."CNTK usage overview". GitHub.
  30. ^ Page Module:Citation/CS1/styles.css has no content."BrainScript Network Builder". GitHub.
  31. ^ Page Module:Citation/CS1/styles.css has no content.".NET Support: Issue #960: Microsoft/CNTK". GitHub.
  32. ^ Page Module:Citation/CS1/styles.css has no content."How to train a model using multiple machines?: Issue #59: Microsoft/CNTK". GitHub.
  33. ^ Page Module:Citation/CS1/styles.css has no content."Prebuilt models for image classification: Issue #140: microsoft/CNTK". GitHub.
  34. ^ a b Page Module:Citation/CS1/styles.css has no content."CNTK - Computational Network Toolkit". Microsoft Corporation.
  35. ^ Page Module:Citation/CS1/styles.css has no content."Restricted Boltzmann Machine with CNTK #534". GitHub, Inc. 27 May 2016. Retrieved 30 October 2023.
  36. ^ Page Module:Citation/CS1/styles.css has no content."Multiple GPUs and machines". Microsoft Corporation.
  37. ^ Page Module:Citation/CS1/styles.css has no content."Disclaimer". CNTK TEAM. 6 November 2021.
  38. ^ Page Module:Citation/CS1/styles.css has no content."Releases: dmlc/mxnet". GitHub.
  39. ^ Page Module:Citation/CS1/styles.css has no content."Installation Guide — mxnet documentation". Readthdocs.
  40. ^ Page Module:Citation/CS1/styles.css has no content."MXNet Smart Device". ReadTheDocs. Archived from the original on 2016-09-21. Retrieved 2016-05-19.
  41. ^ Page Module:Citation/CS1/styles.css has no content."MXNet.js". GitHub. 28 October 2021.
  42. ^ Page Module:Citation/CS1/styles.css has no content."— Redirecting to mxnet.io". mxnet.readthedocs.io.
  43. ^ Page Module:Citation/CS1/styles.css has no content."Model Gallery". GitHub. 29 October 2022.
  44. ^ Page Module:Citation/CS1/styles.css has no content."Run MXNet on Multiple CPU/GPUs with Data Parallel". GitHub.
  45. ^ Page Module:Citation/CS1/styles.css has no content."Model Types". 31 August 2023.
  46. ^ Page Module:Citation/CS1/styles.css has no content."PyTorch". Dec 17, 2021.
  47. ^ Page Module:Citation/CS1/styles.css has no content."Falbel D, Luraschi J (2023). torch: Tensors and Neural Networks with 'GPU' Acceleration". torch.mlverse.org. Retrieved 2023-11-28.
  48. ^ Page Module:Citation/CS1/styles.css has no content."OpenCL build of pytorch: (in-progress, not useable) - hughperkins/pytorch-coriander". GitHub. July 14, 2019.
  49. ^ Page Module:Citation/CS1/styles.css has no content."DLPrimitives/OpenCL out of tree backend for pytorch - artyom-beilis/pytorch_dlprim". GitHub. Jan 21, 2022.
  50. ^ Page Module:Citation/CS1/styles.css has no content."OpenCL Support: Issue #488: pytorch/pytorch". GitHub.
  51. ^ Page Module:Citation/CS1/styles.css has no content."Restricted Boltzmann Machines (RBMs) in PyTorch". GitHub. 14 November 2022.
  52. ^ https://github.com/williamFalcon
  53. ^ https://lightning.ai/docs/litserve/how-tos/parallelism-types
  54. ^ Page Module:Citation/CS1/styles.css has no content."Install TensorFlow with pip".
  55. ^ Page Module:Citation/CS1/styles.css has no content."TensorFlow 0.12 adds support for Windows".
  56. ^ Page Module:Citation/CS1/styles.css has no content.Allaire, J.J.; Kalinowski, T.; Falbel, D.; Eddelbuettel, D.; Yuan, T.; Golding, N. (28 September 2023). "tensorflow: R Interface to 'TensorFlow'". The Comprehensive R Archive Network. Retrieved 30 October 2023.
  57. ^ Page Module:Citation/CS1/styles.css has no content."tensorflow/roadmap.md at master". GitHub. January 23, 2017. Retrieved May 21, 2017.
  58. ^ Page Module:Citation/CS1/styles.css has no content."OpenCL support". GitHub.
  59. ^ Page Module:Citation/CS1/styles.css has no content."TensorFlow". TensorFlow.
  60. ^ Page Module:Citation/CS1/styles.css has no content."Models and examples built with TensorFlow". GitHub. July 19, 2019.
  61. ^ Page Module:Citation/CS1/styles.css has no content."Using the GPU: Theano 0.8.2 documentation". Archived from the original on 2017-04-01. Retrieved 2016-01-21.
  62. ^ Page Module:Citation/CS1/styles.css has no content."gradient – Symbolic Differentiation — Theano 1.0.0 documentation". deeplearning.net.
  63. ^ Page Module:Citation/CS1/styles.css has no content."Automatic vs. Symbolic differentiation".
  64. ^ Page Module:Citation/CS1/styles.css has no content."Recipes/modelzoo at master: Lasagne/Recipes". GitHub.
  65. ^ Page Module:Citation/CS1/styles.css has no content."Using multiple GPUs — Theano 1.0.0 documentation". deeplearning.net.
  66. ^ a b Page Module:Citation/CS1/styles.css has no content."torch/torch7". GitHub. July 18, 2019.
  67. ^ Page Module:Citation/CS1/styles.css has no content."GitHub - soumith/torch-android: Torch-7 for Android". GitHub. 13 October 2021.
  68. ^ Page Module:Citation/CS1/styles.css has no content."Torch7: A MATLAB-like Environment for Machine Learning" (PDF).
  69. ^ Page Module:Citation/CS1/styles.css has no content."GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library". GitHub. 18 November 2020.
  70. ^ Page Module:Citation/CS1/styles.css has no content."Cheatsheet". GitHub.
  71. ^ Page Module:Citation/CS1/styles.css has no content."cltorch". GitHub.
  72. ^ Page Module:Citation/CS1/styles.css has no content."Torch CUDA backend". GitHub.
  73. ^ Page Module:Citation/CS1/styles.css has no content."Torch CUDA backend for nn". GitHub.
  74. ^ Page Module:Citation/CS1/styles.css has no content."Autograd automatically differentiates native Torch code: twitter/torch-autograd". GitHub. July 9, 2019.
  75. ^ Page Module:Citation/CS1/styles.css has no content."ModelZoo". GitHub.
  76. ^ Page Module:Citation/CS1/styles.css has no content."RANT".
  77. ^ Page Module:Citation/CS1/styles.css has no content."Launching Mathematica 10". Wolfram.
  78. ^ Page Module:Citation/CS1/styles.css has no content."Wolfram Neural Net Repository of Neural Network Models". resources.wolframcloud.com.
  79. ^ Page Module:Citation/CS1/styles.css has no content."Parallel Computing—Wolfram Language Documentation". reference.wolfram.com.