So sánh các phần mềm học sâu

Bách khoa toàn thư mở Wikipedia

Bảng dưới đây so sánh một số framework phần mềm, thư viện và các chương trình máy tính phổ biến nhất dành cho học sâu.

Phần mềm học sâu sắp xếp theo tên[sửa | sửa mã nguồn]

Phần mềm Nhà sáng tạo Phát hành Giấy phép[a] Nguồn mở Nền tảng Viết bằng Giao diện Hỗ trợ OpenMP Hỗ trợ OpenCL Hỗ trợ CUDA Hỗ trợ ROCm[1] Vi phân tự động[2] Được đào tạo trước Mạng hồi quy Mạng tích chập RBM/DBNs Thực thi song song (đa nút) Đang phát triển
BigDL Jason Dai (Intel) 2016 Apache 2.0 Apache Spark Scala Scala, Python Không Không
Caffe Trung tâm Tầm nhìn và Học tập Berkeley 2013 BSD Linux, macOS, Windows[3] C++ Python, MATLAB, C++ Đang phát triển[4] Không [5] Không ? Không[6]
Chainer Preferred Networks 2015 BSD Linux, macOS Python Python Không Không Không Không Không[7]
Deeplearning4j Đội kỹ sư Skymind; Cộng đồng Deeplearning4j; ban đầu là Adam Gibson 2014 Apache 2.0 Linux, macOS, Windows, Android (đa nền tảng) C++, Java Java, Scala, Clojure, Python (Keras), Kotlin Không[8] [9][10] Không Đồ thị tính toán [11] [12]
Dlib Davis King 2002 Giấy phép phần mềm Boost Đa nền tảng C++ C++, Python Không Không Không
Flux Mike Innes 2017 Giấy phép MIT Linux, MacOS, Windows (đa nền tảng) Julia Julia Không [13] Không
Thư viện phân tích dữ liệu Intel Intel 2015 Apache 2.0 Linux, macOS, Windows cho CPU Intel[14] C++, Python, Java C++, Python, Java[14] Không Không Không Không
Thư viện Toán học Kernel Intel 2017 [15] và sau đó Intel 2017 Độc quyền Không Linux, macOS, Windows cho CPU Intel[16] C[17] [18] Không Không Không Không [19] [19] Không
Google JAX Google 2018 Apache 2.0 Linux, macOS, Windows Python Python Chỉ trên Linux Không Không
Keras François Chollet 2015 Giấy phép MIT Linux, macOS, Windows Python Python, R Chỉ khi sử dụng Theano làm backend Có thể sử dụng Theano, Tensorflow hoặc PlaidML làm backend Không [20] Không[21] [22]
MATLAB + Deep Learning Toolbox (tên chính thức là Neural Network Toolbox) MathWorks 1992 Độc quyền Không Linux, macOS, Windows C, C++, Java, MATLAB MATLAB Không Không Huấn luyện với Parallel Computing Toolbox và tạo mã CUDA bằng GPU Coder[23] Không [24] [25][26] [25] [25] Với Parallel Computing Toolbox[27]
Microsoft Cognitive Toolkit (CNTK) Microsoft Research 2016 Giấy phép MIT[28] Windows, Linux[29] (macOS thông qua Docker trên lộ trình) C++ Python (Keras), C++, Dòng lệnh,[30] BrainScript[31] (.NET trên lộ trình[32]) [33] Không Không [34] [35] [35] Không[36] [37] Không[38]
Apache MXNet Tổ chức phần mềm Apache 2015 Apache 2.0 Linux, macOS, Windows,[39][40] AWS, Android,[41] iOS, JavaScript[42] Thư viện tiểu lõi C++ C++, Python, Julia, MATLAB, JavaScript, Go, R, Scala, Perl, Clojure Trên lộ trình[43] Không [44] [45] [46]
Neural Designer Artelnics 2014 Độc quyền Không Linux, macOS, Windows C++ Giao diện đồ họa người dùng Không Không Vi phân phân tích Không Không Không Không
OpenNN Artelnics 2003 GNU LGPL Đa nền tảng C++ C++ Không Không ? ? Không Không Không ?
PlaidML Vertex.AI, Intel 2017 Apache 2.0 Linux, macOS, Windows Python, C++, OpenCL Python, C++ ? Một số ICD OpenCL không được công nhận Không Không
PyTorch Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan (Facebook) 2016 BSD Linux, macOS, Windows, Android[47] Python, C, C++, CUDA Python, C++, Julia Thông qua gói duy trì riêng biệt[48][49][50] [51]
Apache SINGA Tổ chức phần mềm Apache 2015 Apache 2.0 Linux, macOS, Windows C++ Python, C++, Java Không Hỗ trợ bản V1.0 Không ?
TensorFlow Google Brain 2015 Apache 2.0 Linux, macOS, Windows,[52][53] Android C++, Python, CUDA Python (Keras), C/C++, Java, Go, JavaScript, R,[54] Julia, Swift Không Trên lộ trình[55] nhưng đã hỗ trợ SYCL[56] [57] [58]
Theano Đại học Montreal 2007 BSD Đa nền tảng Python Python (Keras) Đang phát triển[59] Không [60][61] Qua model zoo của Lasagne[62] [63] Không
Torch Ronan Collobert, Koray Kavukcuoglu, Clement Farabet 2002 BSD Linux, macOS, Windows,[64] Android,[65] iOS C, Lua Lua, LuaJIT,[66] C, thư viện tiện ích cho C++/OpenCL[67] Thực thi bên thứ ba[68][69] [70][71] Không Qua Autograd của Twitter[72] [73] [64] Không
Wolfram Mathematica 10[74] và sau đó Wolfram Research 2014 Độc quyền Không Windows, macOS, Linux, Điện toán đám mây C++, Ngôn ngữ Wolfram, CUDA Ngôn ngữ Wolfram Không Không [75] [76]
Phần mềm Nhà sáng tạo Phát hành Giấy phép[a] Nguồn mở Nền tảng Viết bằng Giao diện Hỗ trợ OpenMP Hỗ trợ OpenCL Hỗ trợ CUDA Hỗ trợ ROCm[77] Vi phân tự động[2] Được đào tạo trước Mạng hồi quy Mạng tích chập RBM/DBNs Thực thi song song (đa nút) Đang phát triển
  1. ^ a b Giấy phép ở đây là một bản tóm tắt và không được coi là giấy phép chuẩn. Một số thư viện có thể sử dụng các thư viện khác trong nội bộ theo các giấy phép khác nhau

Phần mềm liên quan[sửa | sửa mã nguồn]

Xem thêm[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ “Deep Learning — ROCm 4.5.0 documentation”. Bản gốc lưu trữ ngày 5 tháng 12 năm 2022. Truy cập ngày 7 tháng 12 năm 2022.
  2. ^ a b Atilim Gunes Baydin; Barak A. Pearlmutter; Alexey Andreyevich Radul; Jeffrey Mark Siskind (20 February 2015). "Automatic differentiation in machine learning: a survey". arΧiv:1502.05767 [cs.LG]. 
  3. ^ “Microsoft/caffe”. GitHub. 30 tháng 10 năm 2021.
  4. ^ “Caffe: a fast open framework for deep learning”. 19 tháng 7 năm 2019 – qua GitHub.
  5. ^ “Caffe | Model Zoo”. caffe.berkeleyvision.org.
  6. ^ GitHub - BVLC/caffe: Caffe: a fast open framework for deep learning., Berkeley Vision and Learning Center, 25 tháng 9 năm 2019, truy cập ngày 25 tháng 9 năm 2019
  7. ^ Preferred Networks Migrates its Deep Learning Research Platform to PyTorch, 5 tháng 12 năm 2019, truy cập ngày 27 tháng 12 năm 2019
  8. ^ “Support for Open CL · Issue #27 · deeplearning4j/nd4j”. GitHub.
  9. ^ “N-Dimensional Scientific Computing for Java”. Bản gốc lưu trữ ngày 16 tháng 10 năm 2016. Truy cập ngày 7 tháng 12 năm 2022.
  10. ^ “Comparing Top Deep Learning Frameworks”. Deeplearning4j. Bản gốc lưu trữ ngày 7 tháng 11 năm 2017. Truy cập ngày 31 tháng 10 năm 2017.
  11. ^ Chris Nicholson; Adam Gibson. “Deeplearning4j Models”. Bản gốc lưu trữ ngày 11 tháng 2 năm 2017. Truy cập ngày 2 tháng 3 năm 2016.
  12. ^ Deeplearning4j. “Deeplearning4j on Spark”. Deeplearning4j. Bản gốc lưu trữ ngày 13 tháng 7 năm 2017. Truy cập ngày 1 tháng 9 năm 2016.
  13. ^ “Metalhead”. FluxML. 29 tháng 10 năm 2021.
  14. ^ a b “Intel® Data Analytics Acceleration Library (Intel® DAAL)”. software.intel.com. 20 tháng 11 năm 2018.
  15. ^ “Intel® Math Kernel Library Release Notes and New Features”. Intel.
  16. ^ “Intel® Math Kernel Library (Intel® MKL)”. software.intel.com. 11 tháng 9 năm 2018.
  17. ^ “Deep Neural Network Functions”. software.intel.com. 24 tháng 5 năm 2019.
  18. ^ “Using Intel® MKL with Threaded Applications”. software.intel.com. 1 tháng 6 năm 2017.
  19. ^ a b “Intel® Xeon Phi™ Delivers Competitive Performance For Deep Learning—And Getting Better Fast”. software.intel.com. 21 tháng 3 năm 2019.
  20. ^ “Applications - Keras Documentation”. keras.io.
  21. ^ “Is there RBM in Keras? · Issue #461 · keras-team/keras”. GitHub.
  22. ^ “Does Keras support using multiple GPUs? · Issue #2436 · keras-team/keras”. GitHub.
  23. ^ “GPU Coder - MATLAB & Simulink”. MathWorks. Truy cập ngày 13 tháng 11 năm 2017.
  24. ^ “Automatic Differentiation Background - MATLAB & Simulink”. MathWorks. 3 tháng 9 năm 2019. Truy cập ngày 19 tháng 11 năm 2019.
  25. ^ a b c “Neural Network Toolbox - MATLAB”. MathWorks. Truy cập ngày 13 tháng 11 năm 2017.
  26. ^ “Deep Learning Models - MATLAB & Simulink”. MathWorks. Truy cập ngày 13 tháng 11 năm 2017.
  27. ^ “Parallel Computing Toolbox - MATLAB”. MathWorks. Truy cập ngày 13 tháng 11 năm 2017.
  28. ^ “CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub”. GitHub.
  29. ^ “Setup CNTK on your machine”. GitHub.
  30. ^ “CNTK usage overview”. GitHub.
  31. ^ “BrainScript Network Builder”. GitHub.
  32. ^ “.NET Support · Issue #960 · Microsoft/CNTK”. GitHub.
  33. ^ “How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK”. GitHub.
  34. ^ “Prebuilt models for image classification · Issue #140 · microsoft/CNTK”. GitHub.
  35. ^ a b “CNTK - Computational Network Toolkit”. Microsoft Corporation.
  36. ^ url=https://github.com/Microsoft/CNTK/issues/534
  37. ^ “Multiple GPUs and machines”. Microsoft Corporation.
  38. ^ “Disclaimer”. CNTK TEAM. 6 tháng 11 năm 2021.
  39. ^ “Releases · dmlc/mxnet”. Github.
  40. ^ “Installation Guide — mxnet documentation”. Readthdocs.
  41. ^ “MXNet Smart Device”. ReadTheDocs. Bản gốc lưu trữ ngày 21 tháng 9 năm 2016. Truy cập ngày 19 tháng 5 năm 2016.
  42. ^ “MXNet.js”. Github. 28 tháng 10 năm 2021.
  43. ^ “Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet”. GitHub.
  44. ^ “— Redirecting to mxnet.io”. mxnet.readthedocs.io.
  45. ^ “Model Gallery”. GitHub. 29 tháng 10 năm 2022.
  46. ^ “Run MXNet on Multiple CPU/GPUs with Data Parallel”. GitHub.
  47. ^ “PyTorch”. 17 tháng 12 năm 2021.
  48. ^ “OpenCL build of pytorch: (in-progress, not useable) - hughperkins/pytorch-coriander”. 14 tháng 7 năm 2019 – qua GitHub.
  49. ^ “DLPrimitives/OpenCL out of tree backend for pytorch - artyom-beilis/pytorch_dlprim”. 21 tháng 1 năm 2022 – qua GitHub.
  50. ^ “OpenCL Support · Issue #488 · pytorch/pytorch”. GitHub.
  51. ^ “Restricted Boltzmann Machines (RBMs) in PyTorch”. GitHub. 14 tháng 11 năm 2022.
  52. ^ “Install TensorFlow with pip”.
  53. ^ “TensorFlow 0.12 adds support for Windows”.
  54. ^ interface), JJ Allaire (R; RStudio; Eddelbuettel, Dirk; Golding, Nick; Tang, Yuan; Tutorials), Google Inc (Examples and (26 tháng 5 năm 2017), tensorflow: R Interface to TensorFlow, truy cập ngày 14 tháng 6 năm 2017
  55. ^ “tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub”. GitHub. 23 tháng 1 năm 2017. Truy cập ngày 21 tháng 5 năm 2017.
  56. ^ “OpenCL support · Issue #22 · tensorflow/tensorflow”. GitHub.
  57. ^ “TensorFlow”. TensorFlow.
  58. ^ “Models and examples built with TensorFlow”. 19 tháng 7 năm 2019 – qua GitHub.
  59. ^ “Using the GPU — Theano 0.8.2 documentation”. Bản gốc lưu trữ ngày 1 tháng 4 năm 2017. Truy cập ngày 7 tháng 12 năm 2022.
  60. ^ “gradient – Symbolic Differentiation — Theano 1.0.0 documentation”. deeplearning.net.
  61. ^ “Automatic vs. Symbolic differentiation”.
  62. ^ “Recipes/modelzoo at master · Lasagne/Recipes · GitHub”. GitHub.
  63. ^ “Using multiple GPUs — Theano 1.0.0 documentation”. deeplearning.net. Bản gốc lưu trữ ngày 4 tháng 5 năm 2017. Truy cập ngày 7 tháng 12 năm 2022.
  64. ^ a b “torch/torch7”. 18 tháng 7 năm 2019 – qua GitHub.
  65. ^ “GitHub - soumith/torch-android: Torch-7 for Android”. GitHub. 13 tháng 10 năm 2021.
  66. ^ “Torch7: A Matlab-like Environment for Machine Learning” (PDF).
  67. ^ “GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library”. GitHub. 18 tháng 11 năm 2020.
  68. ^ “Cheatsheet”. GitHub.
  69. ^ “cltorch”. GitHub.
  70. ^ “Torch CUDA backend”. GitHub.
  71. ^ “Torch CUDA backend for nn”. GitHub.
  72. ^ “Autograd automatically differentiates native Torch code: twitter/torch-autograd”. 9 tháng 7 năm 2019 – qua GitHub.
  73. ^ “ModelZoo”. GitHub.
  74. ^ “Launching Mathematica 10”. Wolfram.
  75. ^ “Wolfram Neural Net Repository of Neural Network Models”. resources.wolframcloud.com.
  76. ^ “Parallel Computing—Wolfram Language Documentation”. reference.wolfram.com.
  77. ^ “Deep Learning — ROCm 4.5.0 documentation”. Bản gốc lưu trữ ngày 5 tháng 12 năm 2022. Truy cập ngày 7 tháng 12 năm 2022.