مقارنة برمجيات التعلم العميق

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
  1. ^ أ ب 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

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

References

  1. ^ 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. ^ "Microsoft/caffe". GitHub.
  3. ^ "Caffe: a fast open framework for deep learning". July 19, 2019 – via GitHub.
  4. ^ "Caffe | Model Zoo". caffe.berkeleyvision.org.
  5. ^ 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 
  6. ^ Preferred Networks Migrates its Deep Learning Research Platform to PyTorch, 2019-12-05, https://preferred.jp/en/news/pr20191205/, retrieved on 2019-12-27 
  7. ^ "Support for Open CL · Issue #27 · deeplearning4j/nd4j". GitHub.
  8. ^ "N-Dimensional Scientific Computing for Java".
  9. ^ "Comparing Top Deep Learning Frameworks". Deeplearning4j. Archived from the original on 2017-11-07. Retrieved 2017-10-31.
  10. ^ Chris Nicholson; Adam Gibson. "Deeplearning4j Models". Archived from the original on 2017-02-11. Retrieved 2016-03-02.
  11. ^ 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. ^ "Metalhead". FluxML.
  13. ^ أ ب "Intel® Data Analytics Acceleration Library (Intel® DAAL)". software.intel.com. November 20, 2018.
  14. ^ "Intel® Math Kernel Library (Intel® MKL)". software.intel.com. September 11, 2018.
  15. ^ "Deep Neural Network Functions". software.intel.com. May 24, 2019.
  16. ^ "Using Intel® MKL with Threaded Applications". software.intel.com. June 1, 2017.
  17. ^ أ ب "Intel® Xeon Phi™ Delivers Competitive Performance For Deep Learning—And Getting Better Fast". software.intel.com. March 21, 2019.
  18. ^ "Applications - Keras Documentation". keras.io.
  19. ^ "Is there RBM in Keras? · Issue #461 · keras-team/keras". GitHub.
  20. ^ "Does Keras support using multiple GPUs? · Issue #2436 · keras-team/keras". GitHub.
  21. ^ "GPU Coder - MATLAB & Simulink". MathWorks. Retrieved 13 November 2017.
  22. ^ "Automatic Differentiation Background - MATLAB & Simulink". MathWorks. September 3, 2019. Retrieved November 19, 2019.
  23. ^ أ ب ت "Neural Network Toolbox - MATLAB". MathWorks. Retrieved 13 November 2017.
  24. ^ "Deep Learning Models - MATLAB & Simulink". MathWorks. Retrieved 13 November 2017.
  25. ^ "Parallel Computing Toolbox - MATLAB". MathWorks. Retrieved 13 November 2017.
  26. ^ "CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub". GitHub.
  27. ^ "Setup CNTK on your machine". GitHub.
  28. ^ "CNTK usage overview". GitHub.
  29. ^ "BrainScript Network Builder". GitHub.
  30. ^ ".NET Support · Issue #960 · Microsoft/CNTK". GitHub.
  31. ^ "How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK". GitHub.
  32. ^ "Prebuilt models for image classification · Issue #140 · microsoft/CNTK". GitHub.
  33. ^ أ ب "CNTK - Computational Network Toolkit". Microsoft Corporation.
  34. ^ url=https://github.com/Microsoft/CNTK/issues/534
  35. ^ "Multiple GPUs and machines". Microsoft Corporation.
  36. ^ "Disclaimer". CNTK TEAM.
  37. ^ "Releases · dmlc/mxnet". Github.
  38. ^ "Installation Guide — mxnet documentation". Readthdocs.
  39. ^ "MXNet Smart Device". ReadTheDocs. Archived from the original on 2016-09-21. Retrieved 2016-05-19.
  40. ^ "MXNet.js". Github.
  41. ^ "Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet". GitHub.
  42. ^ "— Redirecting to mxnet.io". mxnet.readthedocs.io.
  43. ^ "Model Gallery". GitHub.
  44. ^ "Run MXNet on Multiple CPU/GPUs with Data Parallel". GitHub.
  45. ^ "OpenCL build of pytorch: (in-progress, not useable) - hughperkins/pytorch-coriander". July 14, 2019 – via GitHub.
  46. ^ "OpenCL Support · Issue #488 · pytorch/pytorch". GitHub.
  47. ^ "Install TensorFlow with pip".
  48. ^ "TensorFlow 0.12 adds support for Windows".
  49. ^ 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 
  50. ^ "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub". GitHub. January 23, 2017. Retrieved May 21, 2017.
  51. ^ "OpenCL support · Issue #22 · tensorflow/tensorflow". GitHub.
  52. ^ "TensorFlow". TensorFlow.
  53. ^ "Models and examples built with TensorFlow". July 19, 2019 – via GitHub.
  54. ^ "Using the GPU — Theano 0.8.2 documentation".
  55. ^ "gradient – Symbolic Differentiation — Theano 1.0.0 documentation". deeplearning.net.
  56. ^ https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
  57. ^ "Recipes/modelzoo at master · Lasagne/Recipes · GitHub". GitHub.
  58. ^ "Using multiple GPUs — Theano 1.0.0 documentation". deeplearning.net.
  59. ^ أ ب "torch/torch7". July 18, 2019 – via GitHub.
  60. ^ "GitHub - soumith/torch-android: Torch-7 for Android". GitHub.
  61. ^ "Torch7: A Matlab-like Environment for Machine Learning" (PDF).
  62. ^ "GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library". GitHub.
  63. ^ "Cheatsheet". GitHub.
  64. ^ "cltorch". GitHub.
  65. ^ "Torch CUDA backend". GitHub.
  66. ^ "Torch CUDA backend for nn". GitHub.
  67. ^ "Autograd automatically differentiates native Torch code: twitter/torch-autograd". July 9, 2019 – via GitHub.
  68. ^ "ModelZoo". GitHub.
  69. ^ "Wolfram Neural Net Repository of Neural Network Models". resources.wolframcloud.com.
  70. ^ "Parallel Computing—Wolfram Language Documentation". reference.wolfram.com.
  71. ^ 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].