Comparison of Deep Learning Software
Comparison of Deep Learning Software
The following table compares notable software frameworks, libraries and computer programs for deep learning.
Intel Math
Linux, macOS,
Kernel Library
Intel 2017 Proprietary No Windows on C[17] Yes[18] No N
2017 [15] and
Intel CPU[16]
later
Apache
Linux, macOS, Onl
Google JAX Google 2018 License Yes Python Python
Windows Lin
2.0
Only if
using Can use Theano,
François MIT Linux, macOS,
Keras 2015 Yes Python Python, R Theano Tensorflow or PlaidML Y
Chollet license Windows
as as backends
backend
Train
Par
MATLAB + Com
Deep Learning Too
Toolbox C, C++, a
Linux, macOS,
(formally MathWorks 1992 Proprietary No Java, MATLAB No No gene
Windows
Neural MATLAB CU
Network code
Toolbox) G
Cod
Python (Keras),
Windows, C++, Command
Microsoft
Microsoft MIT Linux[29] line,[30]
Cognitive 2016 Yes (macOS via C++ Yes[33] No Y
Toolkit (CNTK)
Research license [28] BrainScript[31]
Docker on
(.NET on
roadmap)
roadmap [32])
Linux, macOS,
C++, Python,
Windows,[39][40]
Apache Small C++ Julia, Matlab,
Apache AWS,
Apache MXNet Software 2015 Yes core JavaScript, Go, Yes On roadmap [43] Y
Foundation
2.0 Android,[41] library R, Scala, Perl,
iOS, Clojure
JavaScript[42]
Neural Linux, macOS, Graphical user
Artelnics 2014 Proprietary No C++ Yes No Y
Designer Windows interface
GNU
OpenNN Artelnics 2003 Yes Cross-platform C++ C++ Yes No Y
LGPL
Python,
Apache Linux, macOS, Some OpenCL ICDs
PlaidML Vertex.AI, Intel 2017 Yes C++, Python, C++ ? N
2.0 Windows are not recognized
OpenCL
Adam Paszke,
Sam Gross,
Soumith Linux, macOS, Python, C, Via separately
Windows, Python, C++, maintained
PyTorch Chintala, 2016 BSD Yes C++, Yes Y
Julia
Gregory Android [47] CUDA package [48][49][50]
Chanan
(Facebook)
Apache
Apache Linux, macOS, Python, C++,
Apache SINGA Software 2015 Yes C++ No Supported in V1.0 Y
2.0 Windows Java
Foundation
Python (Keras),
Linux, macOS, C++, C/C++, Java, On roadmap [55] but
Apache
TensorFlow Google Brain 2015 Yes Windows,[52][53] Python, Go, JavaScript, No already with SYCL [56] Y
2.0
Android CUDA R,[54] Julia, support
Swift
Université de Under
Theano 2007 BSD Yes Cross-platform Python Python (Keras) Yes Y
Montréal development[59]
Ronan
Collobert, Linux, macOS, Lua, LuaJIT,[66]
Koray Windows,[64] C, utility library Third party
Torch 2002 BSD Yes C, Lua Yes Yes[
Kavukcuoglu, Android,[65] for implementations[68][69]
Clement iOS C++/OpenCL [67]
Farabet
a. 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
Design Compatible with Self-contained Pre-processing and Run-time configuration DNN model Common
Format name
goal other formats DNN Model Post-processing for tuning & calibration interconnect platform
See also
Comparison of numerical-analysis software
Comparison of statistical packages
Comparison of cognitive architectures
List of datasets for machine-learning research
List of numerical-analysis software
References
1. "Deep Learning — ROCm 4.5.0 documentation" (https://rocmdocs.amd.com/en/latest/Deep_learning/Deep-learning.html).
2. 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 (https://arxiv.org/abs/1502.05767) [cs.LG (https://arxiv.org/archive/cs.LG)].
3. "Microsoft/caffe" (https://github.com/Microsoft/caffe). GitHub. 30 October 2021.
4. "Caffe: a fast open framework for deep learning" (https://github.com/BVLC/caffe). July 19, 2019 – via GitHub.
5. "Caffe | Model Zoo" (http://caffe.berkeleyvision.org/model_zoo.html). caffe.berkeleyvision.org.
6. GitHub - BVLC/caffe: Caffe: a fast open framework for deep learning. (https://github.com/BVLC/caffe), Berkeley Vision and Learning Center,
2019-09-25, retrieved 2019-09-25
7. Preferred Networks Migrates its Deep Learning Research Platform to PyTorch (https://preferred.jp/en/news/pr20191205/), 2019-12-05,
retrieved 2019-12-27
8. "Support for Open CL · Issue #27 · deeplearning4j/nd4j" (https://github.com/deeplearning4j/nd4j/issues/27). GitHub.
9. "N-Dimensional Scientific Computing for Java" (http://nd4j.org/gpu_native_backends.html).
10. "Comparing Top Deep Learning Frameworks" (https://web.archive.org/web/20171107011631/https://deeplearning4j.org/compare-dl4j-tensorfl
ow-pytorch). Deeplearning4j. Archived from the original (https://deeplearning4j.org/compare-dl4j-tensorflow-pytorch) on 2017-11-07.
Retrieved 2017-10-31.
11. Chris Nicholson; Adam Gibson. "Deeplearning4j Models" (https://web.archive.org/web/20170211020819/https://deeplearning4j.org/model-zo
o). Archived from the original (http://deeplearning4j.org/model-zoo) on 2017-02-11. Retrieved 2016-03-02.
12. Deeplearning4j. "Deeplearning4j on Spark" (https://web.archive.org/web/20170713012632/https://deeplearning4j.org/spark). Deeplearning4j.
Archived from the original (http://deeplearning4j.org/spark) on 2017-07-13. Retrieved 2016-09-01.
13. "Metalhead" (https://github.com/FluxML/Metalhead.jl). FluxML. 29 October 2021.
14. "Intel® Data Analytics Acceleration Library (Intel® DAAL)" (https://software.intel.com/en-us/intel-daal). software.intel.com. November 20, 2018.
15. "Intel® Math Kernel Library Release Notes and New Features" (https://www.intel.com/content/www/us/en/developer/articles/release-notes/int
el-math-kernel-library-release-notes-and-new-features.html). Intel.
16. "Intel® Math Kernel Library (Intel® MKL)" (https://software.intel.com/en-us/mkl). software.intel.com. September 11, 2018.
17. "Deep Neural Network Functions" (https://software.intel.com/en-us/mkl-developer-reference-c-deep-neural-network-functions).
software.intel.com. May 24, 2019.
18. "Using Intel® MKL with Threaded Applications" (https://software.intel.com/en-us/articles/intel-math-kernel-library-intel-mkl-using-intel-mkl-with
-threaded-applications). software.intel.com. June 1, 2017.
19. "Intel® Xeon Phi™ Delivers Competitive Performance For Deep Learning—And Getting Better Fast" (https://software.intel.com/en-us/articles/i
ntel-xeon-phi-delivers-competitive-performance-for-deep-learning-and-getting-better-fast). software.intel.com. March 21, 2019.
20. "Applications - Keras Documentation" (https://keras.io/applications/). keras.io.
21. "Is there RBM in Keras? · Issue #461 · keras-team/keras" (https://github.com/keras-team/keras/issues/461). GitHub.
22. "Does Keras support using multiple GPUs? · Issue #2436 · keras-team/keras" (https://github.com/keras-team/keras/issues/2436). GitHub.
23. "GPU Coder - MATLAB & Simulink" (https://www.mathworks.com/products/gpu-coder.html). MathWorks. Retrieved 13 November 2017.
24. "Automatic Differentiation Background - MATLAB & Simulink" (https://www.mathworks.com/help/deeplearning/ug/deep-learning-with-automati
c-differentiation-in-matlab.html). MathWorks. September 3, 2019. Retrieved November 19, 2019.
25. "Neural Network Toolbox - MATLAB" (https://www.mathworks.com/products/neural-network.html). MathWorks. Retrieved 13 November 2017.
26. "Deep Learning Models - MATLAB & Simulink" (https://www.mathworks.com/solutions/deep-learning/models.html). MathWorks. Retrieved
13 November 2017.
27. "Parallel Computing Toolbox - MATLAB" (https://www.mathworks.com/products/parallel-computing.html). MathWorks. Retrieved 13 November
2017.
28. "CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub" (https://github.com/Microsoft/CNTK/blob/master/LICENSE.md). GitHub.
29. "Setup CNTK on your machine" (https://github.com/Microsoft/CNTK/wiki/Setup-CNTK-on-your-machine). GitHub.
30. "CNTK usage overview" (https://github.com/Microsoft/CNTK/wiki/CNTK-usage-overview). GitHub.
31. "BrainScript Network Builder" (https://github.com/Microsoft/CNTK/wiki/BrainScript-Network-Builder). GitHub.
32. ".NET Support · Issue #960 · Microsoft/CNTK" (https://github.com/Microsoft/CNTK/issues/960). GitHub.
33. "How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK" (https://github.com/Microsoft/CNTK/issues/59#issuecomment-1
78104505). GitHub.
34. "Prebuilt models for image classification · Issue #140 · microsoft/CNTK" (https://github.com/microsoft/CNTK/issues/140). GitHub.
35. "CNTK - Computational Network Toolkit" (http://www.cntk.ai/). Microsoft Corporation.
36. url=https://github.com/Microsoft/CNTK/issues/534
37. "Multiple GPUs and machines" (https://github.com/Microsoft/CNTK/wiki/Multiple-GPUs-and-machines). Microsoft Corporation.
38. "Disclaimer" (https://github.com/Microsoft/CNTK#disclaimer). CNTK TEAM. 6 November 2021.
39. "Releases · dmlc/mxnet" (https://github.com/dmlc/mxnet/releases). Github.
40. "Installation Guide — mxnet documentation" (https://mxnet.readthedocs.io/en/latest/how_to/build.html#building-on-windows). Readthdocs.
41. "MXNet Smart Device" (https://web.archive.org/web/20160921205959/http://mxnet.readthedocs.io/en/latest/how_to/smart_device.html).
ReadTheDocs. Archived from the original (https://mxnet.readthedocs.io/en/latest/how_to/smart_device.html) on 2016-09-21. Retrieved
2016-05-19.
42. "MXNet.js" (https://github.com/dmlc/mxnet.js). Github. 28 October 2021.
43. "Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet" (https://github.com/dmlc/mxnet/issues/621). GitHub.
44. "— Redirecting to mxnet.io" (https://mxnet.readthedocs.io/en/latest/). mxnet.readthedocs.io.
45. "Model Gallery" (https://github.com/dmlc/mxnet-model-gallery). GitHub. 29 October 2022.
46. "Run MXNet on Multiple CPU/GPUs with Data Parallel" (https://mxnet.readthedocs.io/en/latest/how_to/multi_devices.html). GitHub.
47. "PyTorch" (https://pytorch.org/mobile/android/). Dec 17, 2021.
48. "OpenCL build of pytorch: (in-progress, not useable) - hughperkins/pytorch-coriander" (https://github.com/hughperkins/pytorch-coriander). July
14, 2019 – via GitHub.
49. "DLPrimitives/OpenCL out of tree backend for pytorch - artyom-beilis/pytorch_dlprim" (https://github.com/artyom-beilis/pytorch_dlprim). Jan 21,
2022 – via GitHub.
50. "OpenCL Support · Issue #488 · pytorch/pytorch" (https://github.com/pytorch/pytorch/issues/488). GitHub.
51. "Restricted Boltzmann Machines (RBMs) in PyTorch" (https://github.com/GabrielBianconi/pytorch-rbm/blob/master/rbm.py). GitHub. 14
November 2022.
52. "Install TensorFlow with pip" (https://www.tensorflow.org/install/pip).
53. "TensorFlow 0.12 adds support for Windows" (https://developers.googleblog.com/2016/11/tensorflow-0-12-adds-support-for-windows.html).
54. interface), JJ Allaire (R; RStudio; Eddelbuettel, Dirk; Golding, Nick; Tang, Yuan; Tutorials), Google Inc (Examples and (2017-05-26),
tensorflow: R Interface to TensorFlow (https://cran.r-project.org/web/packages/tensorflow/index.html), retrieved 2017-06-14 {{citation}}:
|first6= has generic name (help)
55. "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub" (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/docs_src/
about/roadmap.md). GitHub. January 23, 2017. Retrieved May 21, 2017.
56. "OpenCL support · Issue #22 · tensorflow/tensorflow" (https://github.com/tensorflow/tensorflow/issues/22). GitHub.
57. "TensorFlow" (https://www.tensorflow.org/). TensorFlow.
58. "Models and examples built with TensorFlow" (https://github.com/tensorflow/models). July 19, 2019 – via GitHub.
59. "Using the GPU — Theano 0.8.2 documentation" (http://deeplearning.net/software/theano/tutorial/using_gpu.html).
60. "gradient – Symbolic Differentiation — Theano 1.0.0 documentation" (http://deeplearning.net/software/theano/library/gradient.html).
deeplearning.net.
61. "Automatic vs. Symbolic differentiation" (https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ).
62. "Recipes/modelzoo at master · Lasagne/Recipes · GitHub" (https://github.com/Lasagne/Recipes/tree/master/modelzoo). GitHub.
63. "Using multiple GPUs — Theano 1.0.0 documentation" (http://deeplearning.net/software/theano/tutorial/using_multi_gpu.html).
deeplearning.net.
64. "torch/torch7" (https://github.com/torch/torch7). July 18, 2019 – via GitHub.
65. "GitHub - soumith/torch-android: Torch-7 for Android" (https://github.com/soumith/torch-android). GitHub. 13 October 2021.
66. "Torch7: A Matlab-like Environment for Machine Learning" (http://ronan.collobert.com/pub/matos/2011_torch7_nipsw.pdf) (PDF).
67. "GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library" (https://github.com/jonathantompson/jtorch). GitHub. 18 November 2020.
68. "Cheatsheet" (https://github.com/torch/torch7/wiki/Cheatsheet#opencl). GitHub.
69. "cltorch" (https://github.com/hughperkins/distro-cl). GitHub.
70. "Torch CUDA backend" (https://github.com/torch/cutorch). GitHub.
71. "Torch CUDA backend for nn" (https://github.com/torch/cunn). GitHub.
72. "Autograd automatically differentiates native Torch code: twitter/torch-autograd" (https://github.com/twitter/torch-autograd). July 9, 2019 – via
GitHub.
73. "ModelZoo" (https://github.com/torch/torch7/wiki/ModelZoo). GitHub.
74. "Launching Mathematica 10" (https://blog.wolfram.com/2014/07/09/launching-mathematica-10-with-700-new-functions-and-a-crazy-amount-of
-rd). Wolfram.
75. "Wolfram Neural Net Repository of Neural Network Models" (http://resources.wolframcloud.com/NeuralNetRepository).
resources.wolframcloud.com.
76. "Parallel Computing—Wolfram Language Documentation" (https://reference.wolfram.com/language/guide/ParallelComputing.html.en).
reference.wolfram.com.
77. "Deep Learning — ROCm 4.5.0 documentation" (https://rocmdocs.amd.com/en/latest/Deep_learning/Deep-learning.html).