0% found this document useful (0 votes)
13 views

Comparison of Deep Learning Software

The document compares notable deep learning software frameworks and libraries. It provides a table that lists the software name, creator, initial release date, license type, whether it is open source, supported platforms, programming languages used, available interfaces, and whether it supports OpenMP, OpenCL, and CUDA. Some of the major software included are Caffe, TensorFlow, PyTorch, Keras, Chainer, Deeplearning4j, CNTK, MXNet and more.

Uploaded by

nigel989
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Comparison of Deep Learning Software

The document compares notable deep learning software frameworks and libraries. It provides a table that lists the software name, creator, initial release date, license type, whether it is open source, supported platforms, programming languages used, available interfaces, and whether it supports OpenMP, OpenCL, and CUDA. Some of the major software included are Caffe, TensorFlow, PyTorch, Keras, Chainer, Deeplearning4j, CNTK, MXNet and more.

Uploaded by

nigel989
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Comparison of deep learning software

The following table compares notable software frameworks, libraries and computer programs for deep learning.

Deep-learning software by name

Initial Software Open OpenMP CU


Software Creator Platform Written in Interface OpenCL support
release license [a] source support sup

Jason Dai Apache


BigDL 2016 Yes Apache Spark Scala Scala, Python N
(Intel) 2.0
Berkeley
Vision and Linux, macOS, Python,
Caffe 2013 BSD Yes C++ Yes Under development[4] Y
Learning Windows[3] MATLAB, C++
Center
Preferred
Chainer 2015 BSD Yes Linux, macOS Python Python No No Y
Networks
Skymind
engineering Linux, macOS,
team; Windows, Java, Scala,
Apache
Deeplearning4j Deeplearning4j 2014
2.0
Yes Android C++, Java Clojure, Python Yes No [8] Yes
community; (Cross- (Keras), Kotlin
originally Adam platform)
Gibson
Boost
Dlib Davis King 2002 Software Yes Cross-platform C++ C++, Python Yes No Y
License
Linux, MacOS,
MIT Windows
Flux Mike Innes 2017 Yes Julia Julia Y
license (Cross-
platform)
Intel Data Linux, macOS,
Apache C++, C++, Python,
Analytics Windows on
Intel 2015 License Yes Python, Yes No N
Acceleration Java [14]
Library
2.0 Intel CPU[14] Java

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

Wolfram Windows, C++,


Mathematica Wolfram macOS, Linux, Wolfram Wolfram
2014 Proprietary No Yes No Y
[74] Research Cloud Language, Language
10 and later computing CUDA

Initial Software Open OpenMP CU


Software Creator Platform Written in Interface OpenCL support
release license [a] source support sup

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

Comparison of compatibility of machine learning models

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

TensorFlow, Keras, Algorithm No / Separate files


No No No No Yes
Caffe, Torch, ONNX, training in most formats
Algorithm No / Separate files
ONNX Yes No No No Yes
training in most formats

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).

Retrieved from "https://en.wikipedia.org/w/index.php?title=Comparison_of_deep_learning_software&oldid=1155965648"

You might also like