مقارنة برمجيات التعلم العميق
The following table compares notable software frameworks, libraries and computer programs for deep learning.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deep-learning software by name
Software | Creator | Initial release | Software license[أ] | 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) | Actively developed |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BigDL | Jason Dai (Intel) | 2016 | Apache 2.0 | نعم | Apache Spark | Scala | Scala, Python | لا | نعم | نعم | نعم | ||||||
Caffe | Berkeley Vision and Learning Center | 2013 | قالب:BSD-lic | نعم | Linux, macOS, Windows[2] | C++ | Python, MATLAB, C++ | نعم | Under development[3] | نعم | نعم | نعم[4] | نعم | نعم | لا | ? | لا[5] |
Chainer | Preferred Networks | 2015 | قالب:BSD-lic | نعم | Linux, macOS | Python | Python | لا | لا | نعم | نعم | نعم | نعم | نعم | لا | نعم | لا[6] |
Deeplearning4j | Skymind engineering team; Deeplearning4j community; originally Adam Gibson | 2014 | Apache 2.0 | نعم | Linux, macOS, Windows, Android (Cross-platform) | C++, Java | Java, Scala, Clojure, Python (Keras), Kotlin | نعم | لا[7] | نعم[8][9] | Computational Graph | نعم[10] | نعم | نعم | نعم | نعم[11] | Yes |
Dlib | Davis King | 2002 | Boost Software License | نعم | Cross-platform | C++ | C++, Python | نعم | لا | نعم | نعم | نعم | لا | نعم | نعم | نعم | |
Flux | Mike Innes | 2017 | MIT license | نعم | Linux, MacOS, Windows (Cross-platform) | Julia | Julia | نعم | نعم | نعم[12] | نعم | نعم | لا | نعم | نعم | ||
Intel Data Analytics Acceleration Library | Intel | 2015 | Apache License 2.0 | نعم | Linux, macOS, Windows on Intel CPU[13] | C++, Python, Java | C++, Python, Java[13] | نعم | لا | لا | نعم | لا | نعم | نعم | |||
Intel Math Kernel Library | Intel | خاص | لا | Linux, macOS, Windows on Intel CPU[14] | C[15] | نعم[16] | لا | لا | نعم | لا | نعم[17] | نعم[17] | لا | ||||
Keras | François Chollet | 2015 | MIT license | نعم | Linux, macOS, Windows | Python | Python, R | Only if using Theano as backend | Can use Theano, Tensorflow or PlaidML as backends | نعم | نعم | نعم[18] | نعم | نعم | لا[19] | نعم[20] | نعم |
MATLAB + Deep Learning Toolbox | MathWorks | خاص | لا | Linux, macOS, Windows | C, C++, Java, MATLAB | MATLAB | لا | لا | Train with Parallel Computing Toolbox and generate CUDA code with GPU Coder[21] | نعم[22] | نعم[23][24] | نعم[23] | نعم[23] | نعم | With Parallel Computing Toolbox[25] | نعم | |
Microsoft Cognitive Toolkit (CNTK) | Microsoft Research | 2016 | MIT license[26] | نعم | Windows, Linux[27] (macOS via Docker on roadmap) | C++ | Python (Keras), C++, Command line,[28] BrainScript[29] (.NET on roadmap[30]) | نعم[31] | لا | نعم | نعم | نعم[32] | نعم[33] | نعم[33] | لا[34] | نعم[35] | لا[36] |
Apache MXNet | Apache Software Foundation | 2015 | Apache 2.0 | نعم | Linux, macOS, Windows,[37][38] AWS, Android,[39] iOS, JavaScript[40] | Small C++ core library | C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl, Clojure | نعم | On roadmap[41] | نعم | نعم[42] | نعم[43] | نعم | نعم | نعم | نعم[44] | نعم |
Neural Designer | Artelnics | 2014 | خاص | لا | Linux, macOS, Windows | C++ | Graphical user interface | نعم | لا | نعم | Analytical differentiation | لا | لا | لا | لا | نعم | نعم |
OpenNN | Artelnics | 2003 | قالب:LGPL-lic | نعم | Cross-platform | C++ | C++ | نعم | لا | نعم | ? | ? | لا | لا | لا | ? | |
PlaidML | Vertex.AI, Intel | 2017 | Apache 2.0 | نعم | Linux, macOS, Windows | Python, C++, OpenCL | Python, C++ | ? | Some OpenCL ICDs are not recognized | لا | نعم | نعم | نعم | نعم | نعم | نعم | |
PyTorch | Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan (Facebook) | 2016 | قالب:BSD-lic | نعم | Linux, macOS, Windows | Python, C, C++, CUDA | Python, C++, Julia | نعم | Via separately maintained package[45][46] | نعم | نعم | نعم | نعم | نعم | نعم | نعم | |
Seq2SeqSharp | Zhongkai Fu | 2018 | قالب:BSD-lic | نعم | Linux, macOS, Windows | C#, C, C++, CUDA | C# | نعم | لا | نعم | نعم | نعم | نعم | لا | لا | نعم | نعم |
Apache SINGA | Apache Software Foundation | 2015 | Apache 2.0 | نعم | Linux, macOS, Windows | C++ | Python, C++, Java | لا | Supported in V1.0 | نعم | ? | نعم | نعم | نعم | نعم | نعم | |
TensorFlow | Google Brain | 2015 | Apache 2.0 | نعم | Linux, macOS, Windows,[47][48] Android | C++, Python, CUDA | Python (Keras), C/C++, Java, Go, JavaScript, R,[49] Julia, Swift | لا | On roadmap[50] but already with SYCL[51] support | نعم | نعم[52] | نعم[53] | نعم | نعم | نعم | نعم | نعم |
Theano | Université de Montréal | 2007 | قالب:BSD-lic | نعم | Cross-platform | Python | Python (Keras) | نعم | Under development[54] | نعم | نعم[55][56] | Through Lasagne's model zoo[57] | نعم | نعم | نعم | نعم[58] | لا |
Torch | Ronan Collobert, Koray Kavukcuoglu, Clement Farabet | 2002 | قالب:BSD-lic | نعم | Linux, macOS, Windows,[59] Android,[60] iOS | C, Lua | Lua, LuaJIT,[61] C, utility library for C++/OpenCL[62] | نعم | Third party implementations[63][64] | نعم[65][66] | Through Twitter's Autograd[67] | نعم[68] | نعم | نعم | نعم | نعم[59] | لا |
Wolfram Mathematica | Wolfram Research | 1988 | خاص | لا | Windows, macOS, Linux, Cloud computing | C++, Wolfram Language, CUDA | Wolfram Language | نعم | لا | نعم | نعم | نعم[69] | نعم | نعم | نعم | نعم[70] | نعم |
Software | Creator | Initial release | Software license[أ] | Open source | Platform | Written in | Interface | OpenMP support | OpenCL support | CUDA support | Automatic differentiation[71] | Has pretrained models | Recurrent nets | Convolutional nets | RBM/DBNs | Parallel execution (multi node) | Actively developed |
Comparison of compatibility of machine learning models
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, ONNX, | Algorithm training | لا | لا / Separate files in most formats | لا | لا | لا | نعم |
ONNX | Algorithm training | نعم | لا / Separate files in most formats | لا | لا | لا | نعم |
See also
- Comparison of numerical-analysis software
- Comparison of statistical packages
- List of datasets for machine-learning research
- List of numerical-analysis software
References
- ^ 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].
- ^ "Microsoft/caffe". GitHub.
- ^ "Caffe: a fast open framework for deep learning". July 19, 2019 – via GitHub.
- ^ "Caffe | Model Zoo". caffe.berkeleyvision.org.
- ^ GitHub - BVLC/caffe: Caffe: a fast open framework for deep learning., Berkeley Vision and Learning Center, 2019-09-25, https://github.com/BVLC/caffe, retrieved on 2019-09-25
- ^ Preferred Networks Migrates its Deep Learning Research Platform to PyTorch, 2019-12-05, https://preferred.jp/en/news/pr20191205/, retrieved on 2019-12-27
- ^ "Support for Open CL · Issue #27 · deeplearning4j/nd4j". GitHub.
- ^ "N-Dimensional Scientific Computing for Java".
- ^ "Comparing Top Deep Learning Frameworks". Deeplearning4j. Archived from the original on 2017-11-07. Retrieved 2017-10-31.
- ^ Chris Nicholson; Adam Gibson. "Deeplearning4j Models". Archived from the original on 2017-02-11. Retrieved 2016-03-02.
- ^ 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) - ^ "Metalhead". FluxML.
- ^ أ ب "Intel® Data Analytics Acceleration Library (Intel® DAAL)". software.intel.com. November 20, 2018.
- ^ "Intel® Math Kernel Library (Intel® MKL)". software.intel.com. September 11, 2018.
- ^ "Deep Neural Network Functions". software.intel.com. May 24, 2019.
- ^ "Using Intel® MKL with Threaded Applications". software.intel.com. June 1, 2017.
- ^ أ ب "Intel® Xeon Phi™ Delivers Competitive Performance For Deep Learning—And Getting Better Fast". software.intel.com. March 21, 2019.
- ^ "Applications - Keras Documentation". keras.io.
- ^ "Is there RBM in Keras? · Issue #461 · keras-team/keras". GitHub.
- ^ "Does Keras support using multiple GPUs? · Issue #2436 · keras-team/keras". GitHub.
- ^ "GPU Coder - MATLAB & Simulink". MathWorks. Retrieved 13 November 2017.
- ^ "Automatic Differentiation Background - MATLAB & Simulink". MathWorks. September 3, 2019. Retrieved November 19, 2019.
- ^ أ ب ت "Neural Network Toolbox - MATLAB". MathWorks. Retrieved 13 November 2017.
- ^ "Deep Learning Models - MATLAB & Simulink". MathWorks. Retrieved 13 November 2017.
- ^ "Parallel Computing Toolbox - MATLAB". MathWorks. Retrieved 13 November 2017.
- ^ "CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub". GitHub.
- ^ "Setup CNTK on your machine". GitHub.
- ^ "CNTK usage overview". GitHub.
- ^ "BrainScript Network Builder". GitHub.
- ^ ".NET Support · Issue #960 · Microsoft/CNTK". GitHub.
- ^ "How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK". GitHub.
- ^ "Prebuilt models for image classification · Issue #140 · microsoft/CNTK". GitHub.
- ^ أ ب "CNTK - Computational Network Toolkit". Microsoft Corporation.
- ^ url=https://github.com/Microsoft/CNTK/issues/534
- ^ "Multiple GPUs and machines". Microsoft Corporation.
- ^ "Disclaimer". CNTK TEAM.
- ^ "Releases · dmlc/mxnet". Github.
- ^ "Installation Guide — mxnet documentation". Readthdocs.
- ^ "MXNet Smart Device". ReadTheDocs. Archived from the original on 2016-09-21. Retrieved 2016-05-19.
- ^ "MXNet.js". Github.
- ^ "Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet". GitHub.
- ^ "— Redirecting to mxnet.io". mxnet.readthedocs.io.
- ^ "Model Gallery". GitHub.
- ^ "Run MXNet on Multiple CPU/GPUs with Data Parallel". GitHub.
- ^ "OpenCL build of pytorch: (in-progress, not useable) - hughperkins/pytorch-coriander". July 14, 2019 – via GitHub.
- ^ "OpenCL Support · Issue #488 · pytorch/pytorch". GitHub.
- ^ "Install TensorFlow with pip".
- ^ "TensorFlow 0.12 adds support for Windows".
- ^ 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 on 2017-06-14
- ^ "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub". GitHub. January 23, 2017. Retrieved May 21, 2017.
- ^ "OpenCL support · Issue #22 · tensorflow/tensorflow". GitHub.
- ^ "TensorFlow". TensorFlow.
- ^ "Models and examples built with TensorFlow". July 19, 2019 – via GitHub.
- ^ "Using the GPU — Theano 0.8.2 documentation".
- ^ "gradient – Symbolic Differentiation — Theano 1.0.0 documentation". deeplearning.net.
- ^ https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
- ^ "Recipes/modelzoo at master · Lasagne/Recipes · GitHub". GitHub.
- ^ "Using multiple GPUs — Theano 1.0.0 documentation". deeplearning.net.
- ^ أ ب "torch/torch7". July 18, 2019 – via GitHub.
- ^ "GitHub - soumith/torch-android: Torch-7 for Android". GitHub.
- ^ "Torch7: A Matlab-like Environment for Machine Learning" (PDF).
- ^ "GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library". GitHub.
- ^ "Cheatsheet". GitHub.
- ^ "cltorch". GitHub.
- ^ "Torch CUDA backend". GitHub.
- ^ "Torch CUDA backend for nn". GitHub.
- ^ "Autograd automatically differentiates native Torch code: twitter/torch-autograd". July 9, 2019 – via GitHub.
- ^ "ModelZoo". GitHub.
- ^ "Wolfram Neural Net Repository of Neural Network Models". resources.wolframcloud.com.
- ^ "Parallel Computing—Wolfram Language Documentation". reference.wolfram.com.
- ^ 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].