So sánh các phần mềm học sâu
Giao diện
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 | Có | Apache Spark | Scala | Scala, Python | Không | Không | Có | Có | Có | ||||||
Caffe | Trung tâm Tầm nhìn và Học tập Berkeley | 2013 | BSD | Có | Linux, macOS, Windows[3] | C++ | Python, MATLAB, C++ | Có | Đang phát triển[4] | Có | Không | Có | Có[5] | Có | Có | Không | ? | Không[6] |
Chainer | Preferred Networks | 2015 | BSD | Có | Linux, macOS | Python | Python | Không | Không | Có | Không | Có | Có | Có | Có | Không | Có | Không[7] |
Deeplearning4j | Đội kỹ sư Skymind; Cộng đồng Deeplearning4j; ban đầu là Adam Gibson | 2014 | Apache 2.0 | Có | Linux, macOS, Windows, Android (đa nền tảng) | C++, Java | Java, Scala, Clojure, Python (Keras), Kotlin | Có | Không[8] | Có[9][10] | Không | Đồ thị tính toán | Có[11] | Có | Có | Có | Có[12] | Có |
Dlib | Davis King | 2002 | Giấy phép phần mềm Boost | Có | Đa nền tảng | C++ | C++, Python | Có | Không | Có | Không | Có | Có | Không | Có | Có | Có | |
Flux | Mike Innes | 2017 | Giấy phép MIT | Có | Linux, MacOS, Windows (đa nền tảng) | Julia | Julia | Có | Không | Có | Có[13] | Có | Có | Không | Có | Có | ||
Thư viện phân tích dữ liệu Intel | Intel | 2015 | Apache 2.0 | Có | Linux, macOS, Windows cho CPU Intel[14] | C++, Python, Java | C++, Python, Java[14] | Có | Không | Không | Không | Có | Không | Có | Có | |||
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] | Có[18] | Không | Không | Không | Có | Không | Có[19] | Có[19] | Không | |||
Google JAX | 2018 | Apache 2.0 | Có | Linux, macOS, Windows | Python | Python | Chỉ trên Linux | Không | Có | Không | Có | Có | ||||||
Keras | François Chollet | 2015 | Giấy phép MIT | Có | 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 | Có | Không | Có | Có[20] | Có | Có | Không[21] | Có[22] | Có |
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 | Có[24] | Có[25][26] | Có[25] | Có[25] | Có | Với Parallel Computing Toolbox[27] | Có |
Microsoft Cognitive Toolkit (CNTK) | Microsoft Research | 2016 | Giấy phép MIT[28] | Có | 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]) | Có[33] | Không | Có | Không | Có | Có[34] | Có[35] | Có[35] | Không[36] | Có[37] | Không[38] |
Apache MXNet | Tổ chức phần mềm Apache | 2015 | Apache 2.0 | Có | 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 | Có | Trên lộ trình[43] | Có | Không | Có[44] | Có[45] | Có | Có | Có | Có[46] | Có |
Neural Designer | Artelnics | 2014 | Độc quyền | Không | Linux, macOS, Windows | C++ | Giao diện đồ họa người dùng | Có | Không | Có | Không | Vi phân phân tích | Không | Không | Không | Không | Có | Có |
OpenNN | Artelnics | 2003 | GNU LGPL | Có | Đa nền tảng | C++ | C++ | Có | Không | Có | Không | ? | ? | Không | Không | Không | ? | |
PlaidML | Vertex.AI, Intel | 2017 | Apache 2.0 | Có | Linux, macOS, Windows | Python, C++, OpenCL | Python, C++ | ? | Một số ICD OpenCL không được công nhận | Không | Không | Có | Có | Có | Có | Có | Có | |
PyTorch | Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan (Facebook) | 2016 | BSD | Có | Linux, macOS, Windows, Android[47] | Python, C, C++, CUDA | Python, C++, Julia | Có | Thông qua gói duy trì riêng biệt[48][49][50] | Có | Có | Có | Có | Có | Có | Có[51] | Có | Có |
Apache SINGA | Tổ chức phần mềm Apache | 2015 | Apache 2.0 | Có | Linux, macOS, Windows | C++ | Python, C++, Java | Không | Hỗ trợ bản V1.0 | Có | Không | ? | Có | Có | Có | Có | Có | |
TensorFlow | Google Brain | 2015 | Apache 2.0 | Có | 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] | Có | Có | Có[57] | Có[58] | Có | Có | Có | Có | Có |
Theano | Đại học Montreal | 2007 | BSD | Có | Đa nền tảng | Python | Python (Keras) | Có | Đang phát triển[59] | Có | Không | Có[60][61] | Qua model zoo của Lasagne[62] | Có | Có | Có | Có[63] | Không |
Torch | Ronan Collobert, Koray Kavukcuoglu, Clement Farabet | 2002 | BSD | Có | Linux, macOS, Windows,[64] Android,[65] iOS | C, Lua | Lua, LuaJIT,[66] C, thư viện tiện ích cho C++/OpenCL[67] | Có | Thực thi bên thứ ba[68][69] | Có[70][71] | Không | Qua Autograd của Twitter[72] | Có[73] | Có | Có | Có | Có[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 | Có | Không | Có | Không | Có | Có[75] | Có | Có | Có | Có[76] | Có |
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 |
Phần mềm liên quan
[sửa | sửa mã nguồn]Xem thêm
[sửa | sửa mã nguồn]- So sánh các gói phần mềm thống kê
- So sánh các phần mềm phân tích số
- Danh sách các phần mềm phân tích số
- Danh sách bộ dữ liệu cho nghiên cứu học máy
Tham khảo
[sửa | sửa mã nguồn]- ^ “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.
- ^ 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].
- ^ “Microsoft/caffe”. GitHub. 30 tháng 10 năm 2021.
- ^ “Caffe: a fast open framework for deep learning”. 19 tháng 7 năm 2019 – qua GitHub.
- ^ “Caffe | Model Zoo”. caffe.berkeleyvision.org.
- ^ 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
- ^ 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
- ^ “Support for Open CL · Issue #27 · deeplearning4j/nd4j”. GitHub.
- ^ “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.
- ^ “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.
- ^ 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.
- ^ 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.
- ^ “Metalhead”. FluxML. 29 tháng 10 năm 2021.
- ^ a b “Intel® Data Analytics Acceleration Library (Intel® DAAL)”. software.intel.com. 20 tháng 11 năm 2018.
- ^ “Intel® Math Kernel Library Release Notes and New Features”. Intel.
- ^ “Intel® Math Kernel Library (Intel® MKL)”. software.intel.com. 11 tháng 9 năm 2018.
- ^ “Deep Neural Network Functions”. software.intel.com. 24 tháng 5 năm 2019.
- ^ “Using Intel® MKL with Threaded Applications”. software.intel.com. 1 tháng 6 năm 2017.
- ^ 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.
- ^ “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. Truy cập ngày 13 tháng 11 năm 2017.
- ^ “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.
- ^ a b c “Neural Network Toolbox - MATLAB”. MathWorks. Truy cập ngày 13 tháng 11 năm 2017.
- ^ “Deep Learning Models - MATLAB & Simulink”. MathWorks. Truy cập ngày 13 tháng 11 năm 2017.
- ^ “Parallel Computing Toolbox - MATLAB”. MathWorks. Truy cập ngày 13 tháng 11 năm 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.
- ^ a b “CNTK - Computational Network Toolkit”. Microsoft Corporation.
- ^ url=https://github.com/Microsoft/CNTK/issues/534
- ^ “Multiple GPUs and machines”. Microsoft Corporation.
- ^ “Disclaimer”. CNTK TEAM. 6 tháng 11 năm 2021.
- ^ “Releases · dmlc/mxnet”. Github.
- ^ “Installation Guide — mxnet documentation”. Readthdocs.
- ^ “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.
- ^ “MXNet.js”. Github. 28 tháng 10 năm 2021.
- ^ “Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet”. GitHub.
- ^ “— Redirecting to mxnet.io”. mxnet.readthedocs.io.
- ^ “Model Gallery”. GitHub. 29 tháng 10 năm 2022.
- ^ “Run MXNet on Multiple CPU/GPUs with Data Parallel”. GitHub.
- ^ “PyTorch”. 17 tháng 12 năm 2021.
- ^ “OpenCL build of pytorch: (in-progress, not useable) - hughperkins/pytorch-coriander”. 14 tháng 7 năm 2019 – qua GitHub.
- ^ “DLPrimitives/OpenCL out of tree backend for pytorch - artyom-beilis/pytorch_dlprim”. 21 tháng 1 năm 2022 – qua GitHub.
- ^ “OpenCL Support · Issue #488 · pytorch/pytorch”. GitHub.
- ^ “Restricted Boltzmann Machines (RBMs) in PyTorch”. GitHub. 14 tháng 11 năm 2022.
- ^ “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 (26 tháng 5 năm 2017), tensorflow: R Interface to TensorFlow, truy cập ngày 14 tháng 6 năm 2017
- ^ “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.
- ^ “OpenCL support · Issue #22 · tensorflow/tensorflow”. GitHub.
- ^ “TensorFlow”. TensorFlow.
- ^ “Models and examples built with TensorFlow”. 19 tháng 7 năm 2019 – qua GitHub.
- ^ “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.
- ^ “gradient – Symbolic Differentiation — Theano 1.0.0 documentation”. deeplearning.net.
- ^ “Automatic vs. Symbolic differentiation”.
- ^ “Recipes/modelzoo at master · Lasagne/Recipes · GitHub”. GitHub.
- ^ “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.
- ^ a b “torch/torch7”. 18 tháng 7 năm 2019 – qua GitHub.
- ^ “GitHub - soumith/torch-android: Torch-7 for Android”. GitHub. 13 tháng 10 năm 2021.
- ^ “Torch7: A Matlab-like Environment for Machine Learning” (PDF).
- ^ “GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library”. GitHub. 18 tháng 11 năm 2020.
- ^ “Cheatsheet”. GitHub.
- ^ “cltorch”. GitHub.
- ^ “Torch CUDA backend”. GitHub.
- ^ “Torch CUDA backend for nn”. GitHub.
- ^ “Autograd automatically differentiates native Torch code: twitter/torch-autograd”. 9 tháng 7 năm 2019 – qua GitHub.
- ^ “ModelZoo”. GitHub.
- ^ “Launching Mathematica 10”. Wolfram.
- ^ “Wolfram Neural Net Repository of Neural Network Models”. resources.wolframcloud.com.
- ^ “Parallel Computing—Wolfram Language Documentation”. reference.wolfram.com.
- ^ “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.