Comparison of deep learning software explained

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

Deep learning software by name

SoftwareCreatorInitial releaseSoftware licenseOpen sourcePlatformWritten inInterfaceOpenMP supportOpenCL supportCUDA supportROCm support[1] Automatic differentiation[2] Has pretrained modelsRecurrent netsConvolutional netsRBM/DBNsParallel execution (multi node)Actively developed
BigDLJason Dai (Intel)2016Apache SparkScalaScala, Python
CaffeBerkeley Vision and Learning Center2013Linux, macOS, Windows[3] C++Python, MATLAB, C++[4]
ChainerPreferred Networks2015Linux, macOSPythonPython
Skymind engineering team; Deeplearning4j community; originally Adam Gibson2014Linux, macOS, Windows, Android (Cross-platform)C++, JavaJava, Scala, Clojure, Python (Keras), Kotlin[5] [6] [7] [8] [9]
DlibDavis King2002Cross-platformC++C++, Python
FluxMike Innes2017Linux, MacOS, Windows (Cross-platform)JuliaJulia[10]
Intel Data Analytics Acceleration LibraryIntel2015Linux, macOS, Windows on Intel CPU[11] C++, Python, JavaC++, Python, Java
Intel Math Kernel Library 2017 [12] and laterIntel2017Linux, macOS, Windows on Intel CPU[13] C/C++, DPC++, FortranC[14] [15] [16]
Google JAXGoogle2018Linux, macOS, WindowsPythonPython
KerasFrançois Chollet2015Linux, macOS, WindowsPythonPython, R[17] [18] [19]
MATLAB + Deep Learning Toolbox (formally Neural Network Toolbox)1992[20] [21] [22] [23] [24]
Microsoft Cognitive Toolkit (CNTK)Microsoft Research2016[25] Windows, Linux[26] (macOS via Docker on roadmap)C++Python (Keras), C++, Command line,[27] BrainScript[28] (.NET on roadmap[29])[30] [31] [32] [33] [34] [35]
ML.NETMicrosoft2018Windows, Linux, macOSC#, C++C#, F#
Apache MXNetApache Software Foundation2015Linux, macOS, Windows,[36] [37] AWS, Android,[38] iOS, JavaScript[39] Small C++ core libraryC++, Python, Julia, MATLAB, JavaScript, Go, R, Scala, Perl, Clojure[40] [41] [42]
Neural DesignerArtelnics2014Linux, macOS, WindowsC++Graphical user interface
OpenNNArtelnics2003Cross-platformC++C++
PlaidMLVertex.AI, Intel2017Linux, macOS, WindowsPython, C++, OpenCLPython, C++
PyTorchAdam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan (Facebook)2016Linux, macOS, Windows, Android[43] Python, C, C++, CUDAPython, C++, Julia, R[44] [45] [46] [47] [48]
Apache SINGAApache Software Foundation2015Linux, macOS, WindowsC++Python, C++, Java
TensorFlowGoogle Brain2015Linux, macOS, Windows,[49] [50] AndroidC++, Python, CUDAPython (Keras), C/C++, Java, Go, JavaScript, R,[51] Julia, Swift[52] but already with SYCL[53] support[54] [55]
TheanoUniversité de Montréal2007Cross-platformPythonPython (Keras)[56] [57] [58]
TorchRonan Collobert, Koray Kavukcuoglu, Clement Farabet2002Linux, macOS, Windows,[59] Android,[60] iOSC, LuaLua, LuaJIT,[61] C, utility library for C++/OpenCL[62] [63] [64] [65]
Wolfram Mathematica 10[66] and laterWolfram Research2014Windows, macOS, Linux, Cloud computingC++, Wolfram Language, CUDAWolfram Language[67] [68]
SoftwareCreatorInitial releaseSoftware licenseOpen sourcePlatformWritten inInterfaceOpenMP supportOpenCL supportCUDA supportROCm support[69] Automatic differentiationHas pretrained modelsRecurrent netsConvolutional netsRBM/DBNsParallel execution (multi node)Actively developed

Comparison of machine learning model compatibility

!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, TorchAlgorithm training / Separate files in most formats
ONNXAlgorithm training / Separate files in most formats

See also

Notes and References

  1. Web site: Deep Learning — ROCm 4.5.0 documentation . 2022-09-27 . 2022-12-05 . https://web.archive.org/web/20221205102733/https://rocmdocs.amd.com/en/latest/Deep_learning/Deep-learning.html . dead.
  2. Atilim Gunes Baydin . Barak A. Pearlmutter . Alexey Andreyevich Radul . Jeffrey Mark Siskind . 1502.05767 . Automatic differentiation in machine learning: a survey . cs.LG . 20 February 2015.
  3. Web site: Microsoft/caffe. GitHub. 30 October 2021.
  4. Web site: Caffe | Model Zoo. caffe.berkeleyvision.org.
  5. Web site: Support for Open CL · Issue #27 · deeplearning4j/nd4j. GitHub.
  6. Web site: N-Dimensional Scientific Computing for Java. 2016-02-05. 2016-10-16. https://web.archive.org/web/20161016094035/http://nd4j.org/gpu_native_backends.html. dead.
  7. Web site: Comparing Top Deep Learning Frameworks. Deeplearning4j. 2017-10-31. https://web.archive.org/web/20171107011631/https://deeplearning4j.org/compare-dl4j-tensorflow-pytorch. 2017-11-07. dead.
  8. Web site: Deeplearning4j Models. Chris Nicholson. Adam Gibson. 2016-03-02. https://web.archive.org/web/20170211020819/https://deeplearning4j.org/model-zoo. 2017-02-11. dead.
  9. Web site: Deeplearning4j on Spark. Deeplearning4j. Deeplearning4j. 2016-09-01. https://web.archive.org/web/20170713012632/https://deeplearning4j.org/spark. 2017-07-13. dead.
  10. Web site: Metalhead. 29 October 2021. FluxML.
  11. Web site: Intel® Data Analytics Acceleration Library (Intel® DAAL). November 20, 2018. software.intel.com.
  12. Web site: Intel® Math Kernel Library Release Notes and New Features. Intel.
  13. Web site: Intel® Math Kernel Library (Intel® MKL). September 11, 2018. software.intel.com.
  14. Web site: Deep Neural Network Functions. May 24, 2019. software.intel.com.
  15. Web site: Using Intel® MKL with Threaded Applications. June 1, 2017. software.intel.com.
  16. Web site: Intel® Xeon Phi™ Delivers Competitive Performance For Deep Learning—And Getting Better Fast. March 21, 2019. software.intel.com.
  17. Web site: Applications - Keras Documentation. keras.io.
  18. Web site: Is there RBM in Keras? · Issue #461 · keras-team/keras. GitHub.
  19. Web site: Does Keras support using multiple GPUs? · Issue #2436 · keras-team/keras. GitHub.
  20. Web site: GPU Coder - MATLAB & Simulink. MathWorks. 13 November 2017.
  21. Web site: Automatic Differentiation Background - MATLAB & Simulink . MathWorks . September 3, 2019 . November 19, 2019.
  22. Web site: Neural Network Toolbox - MATLAB. MathWorks. 13 November 2017.
  23. Web site: Deep Learning Models - MATLAB & Simulink. MathWorks. 13 November 2017.
  24. Web site: Parallel Computing Toolbox - MATLAB. MathWorks. 13 November 2017.
  25. Web site: CNTK/LICENSE.md at master · Microsoft/CNTK . GitHub.
  26. Web site: Setup CNTK on your machine. GitHub.
  27. Web site: CNTK usage overview. GitHub.
  28. Web site: BrainScript Network Builder. GitHub.
  29. Web site: .NET Support · Issue #960 · Microsoft/CNTK. GitHub.
  30. Web site: How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK. GitHub.
  31. Web site: Prebuilt models for image classification · Issue #140 · microsoft/CNTK. GitHub.
  32. Web site: CNTK - Computational Network Toolkit. Microsoft Corporation.
  33. Web site: Restricted Boltzmann Machine with CNTK #534. GitHub, Inc.. 27 May 2016. 30 October 2023.
  34. Web site: Multiple GPUs and machines. Microsoft Corporation.
  35. Web site: Disclaimer. 6 November 2021. CNTK TEAM.
  36. Web site: Releases · dmlc/mxnet. Github.
  37. Web site: Installation Guide — mxnet documentation. Readthdocs.
  38. Web site: MXNet Smart Device. ReadTheDocs. 2016-05-19. https://web.archive.org/web/20160921205959/http://mxnet.readthedocs.io/en/latest/how_to/smart_device.html. 2016-09-21. dead.
  39. Web site: MXNet.js. Github. 28 October 2021.
  40. Web site: — Redirecting to mxnet.io. mxnet.readthedocs.io.
  41. Web site: Model Gallery. GitHub. 29 October 2022.
  42. Web site: Run MXNet on Multiple CPU/GPUs with Data Parallel. GitHub.
  43. Web site: PyTorch. Dec 17, 2021.
  44. Web site: Falbel D, Luraschi J (2023). torch: Tensors and Neural Networks with 'GPU' Acceleration.. 2023-11-28 . torch.mlverse.org . en-us.
  45. Web site: OpenCL build of pytorch: (in-progress, not useable) - hughperkins/pytorch-coriander. July 14, 2019. GitHub.
  46. Web site: DLPrimitives/OpenCL out of tree backend for pytorch - artyom-beilis/pytorch_dlprim. Jan 21, 2022. GitHub.
  47. Web site: OpenCL Support · Issue #488 · pytorch/pytorch. GitHub.
  48. Web site: Restricted Boltzmann Machines (RBMs) in PyTorch. GitHub. 14 November 2022.
  49. Web site: Install TensorFlow with pip.
  50. Web site: TensorFlow 0.12 adds support for Windows.
  51. Web site: tensorflow: R Interface to 'TensorFlow' . Allaire, J.J. . Kalinowski, T. . Falbel, D. . Eddelbuettel, D. . Yuan, T. . Golding, N. . The Comprehensive R Archive Network . 28 September 2023 . 30 October 2023.
  52. Web site: tensorflow/roadmap.md at master . GitHub . January 23, 2017 . May 21, 2017.
  53. Web site: OpenCL support . 22 . GitHub.
  54. Web site: TensorFlow. TensorFlow.
  55. Web site: Models and examples built with TensorFlow. July 19, 2019. GitHub.
  56. Web site: gradient – Symbolic Differentiation — Theano 1.0.0 documentation. deeplearning.net.
  57. Web site: Automatic vs. Symbolic differentiation.
  58. Web site: Using multiple GPUs — Theano 1.0.0 documentation. deeplearning.net.
  59. Web site: torch/torch7. July 18, 2019. GitHub.
  60. Web site: GitHub - soumith/torch-android: Torch-7 for Android. GitHub. 13 October 2021.
  61. Web site: Torch7: A MATLAB-like Environment for Machine Learning.
  62. Web site: GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library. GitHub. 18 November 2020.
  63. Web site: Torch CUDA backend. GitHub.
  64. Web site: Torch CUDA backend for nn. GitHub.
  65. Web site: ModelZoo. GitHub.
  66. Web site: Launching Mathematica 10. Wolfram.
  67. Web site: Wolfram Neural Net Repository of Neural Network Models. resources.wolframcloud.com.
  68. Web site: Parallel Computing—Wolfram Language Documentation. reference.wolfram.com.
  69. Web site: Deep Learning — ROCm 4.5.0 documentation . 2022-09-27 . 2022-12-05 . https://web.archive.org/web/20221205102733/https://rocmdocs.amd.com/en/latest/Deep_learning/Deep-learning.html . dead.