Порівняння програмного забезпечення глибокого навчання
У наступній таблиці зведені відомості про деякі з найпопулярніших програмних каркасів, бібліотек та комп'ютерних програм для глибокого навчання.
Перелік програмного забезпечення глибокого навчання
ред.Назва | Розробник | Ліцензія[a] | Відкрите | Платформа | Мова | Інтерфейс | Підтримка OpenMP | Підтримка OpenCL | Підтримка CUDA | Авто дифернціювання | Містить треновані моделі | Рекурентні мережі | Згорткові мережі | ОМБ/ГМП | Паралельне виконання (багатовузлове) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Apache Singa[en] | Apache Software Foundation | Apache 2.0 | Так | Linux, Mac OS X, Windows | C++ | Python, C++, Java | Ні | Так | Так | ? | Так | Так | Так | Так | Так |
Caffe | Berkeley Vision and Learning Center | Ліцензія BSD | Так | Linux, Mac OS X, Windows[1] | C++ | Python, MATLAB | Так | В розробці[2] | Так | Так | Так[3] | Так | Так | Ні | ? |
Deeplearning4j | Інженерна команда Skymind; спільнота Deeplearning4j; первинно — Адам Ґібсон (англ. Adam Gibson) | Apache 2.0 | Так | Linux, Mac OS X, Windows, Android (багатоплатформне) | Java | Java, Scala, Clojure, Python (Keras) | Так | В планах[4] | Так[5] | Обчислювальний граф | Так[6] | Так | Так | Так | Так[7] |
Dlib | Девіс Кінг | Ліцензія Boost | Так | багатоплатформне | C++ | C++ | Так | Ні | Так | Так | Так | Ні | Так | Так | Так |
Keras | Франсуа Шоллє | Ліцензія MIT | Так | Linux, Mac OS X, Windows | Python | Python | Через Theano | В стадії розробки через Theano і в планах через TensorFlow | Так | Так | Так[8] | Так | Так | Так | Так[9] |
Microsoft Cognitive Toolkit | Microsoft Research | Ліцензія MIT[10] | Так | Windows, Linux[11] (OSX в планах через Docker) | C++ | Python, C++, командний рядок,[12] BrainScript[13] (.NET в планах[14]) | Так[15] | Ні | Так | Так | Так[16] | Так[17] | Так[17] | Ні[18] | Так[19] |
MXNet | Distributed (Deep) Machine Learning Community | Apache 2.0 | Так | Linux, Mac OS X, Windows,[20][21] AWS, Android,[22] iOS, JavaScript[23] | невелика коренева бібліотека C++ | C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl | Так | В планах[24] | Так | Так[25] | Так[26] | Так | Так | Так | Так[27] |
Neural Designer[en] | Artelnics | власницька | Ні | Linux, Mac OS X, Windows | C++ | Графічний інтерфейс користувача | Так | Ні | Ні | ? | ? | Ні | Ні | Ні | ? |
N2D2 | CEA | CeCILL[en] | Так | Linux, Windows | Python, C, C++, CUDA | Python, C++ | Так | Так | Так | Так | Так | Ні | Так | Ні | Так |
OpenNN[en] | Artelnics | GNU LGPL | Так | багатоплатформне | C++ | C++ | Так | Ні | Ні | ? | ? | Ні | Ні | Ні | ? |
TensorFlow | Команда Google Brain | Apache 2.0 | Так | Linux, Mac OS X, Windows[28] | C++, Python | Python, C/C++, Java, Go | Ні | В планах[29][30] | Так | Так[31] | Так[32] | Так | Так | Так | Так |
Theano | Монреальський університет | Ліцензія BSD | Так | багатоплатформне | Python | Python | Так | В розробці[33] | Так | Так[34][35] | Через зоопарк моделей Lasagne[36] | Так | Так | Так | Так[37] |
Torch | Ронан Коллобер, Корай Кавукчоглу, Клемент Фарабет | Ліцензія BSD | Так | Linux, Mac OS X, Windows,[38] Android,[39] iOS | C, Lua | Lua, LuaJIT,[40] C, бібліотека утиліт для C++/OpenCL[41] | Так | Сторонні реалізації[42][43] | Так[44][45] | Через Autograd Твіттера[46] | Так[47] | Так | Так | Так | Так[48] |
Mathematica | Wolfram Research | власницька | Ні | Windows, Mac OS X, Linux, Хмарні обчислення | C++ | командний рядок, Java, C++ | Ні | Так | Так | Так | Так[49] | Так | Так | Так | Так |
- ↑ Ліцензії тут є спрощеними, і не претендують на вичерпність ліцензійних умов. Деякі бібліотеки можуть внутрішньо використовувати інші бібліотеки за відмінними ліцензіями
Пов'язане програмне забезпечення
ред.- Neural Engineering Object[en] (NENGO) — графічне та сценарійне програмне забезпечення для імітування великомасштабних нейронних систем
- Numenta Platform for Intelligent Computing (платформа Numenta для розумних обчислень) — відкрита реалізація компанією Numenta їхньої моделі ієрархічної часової пам'яті.
Див. також
ред.Примітки
ред.- ↑ Microsoft/caffe. GitHub. (англ.)
- ↑ OpenCL Caffe. (англ.)
- ↑ Caffe Model Zoo. (англ.)
- ↑ Support for Open CL · Issue #27 · deeplearning4j/nd4j. GitHub. (англ.)
- ↑ N-Dimensional Scientific Computing for Java. Архів оригіналу за 16 жовтня 2016. Процитовано 16 травня 2017. (англ.)
- ↑ Chris Nicholson; Adam Gibson. Deeplearning4j Models. Архів оригіналу за 11 лютого 2017. Процитовано 16 травня 2017. (англ.)
- ↑ Deeplearning4j. Deeplearning4j on Spark. Deeplearning4j. Архів оригіналу за 13 липня 2017. Процитовано 16 травня 2017. (англ.)
- ↑ Keras Documentatin // Applications (англ.)
- ↑ Does Keras support using multiple GPUs? · Issue #2436 · fchollet/keras (англ.)
- ↑ 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. (англ.)
- ↑ https://github.com/Microsoft/CNTK/issues/140#issuecomment-186466820 (англ.)
- ↑ а б CNTK - Computational Network Toolkit. Microsoft Corporation. (англ.)
- ↑ url=https://github.com/Microsoft/CNTK/issues/534 (англ.)
- ↑ Multiple GPUs and machines. Microsoft Corporation. (англ.)
- ↑ Releases · dmlc/mxnet. Github. (англ.)
- ↑ Installation Guide — mxnet documentation. Readthdocs. (англ.)
- ↑ MXNet Smart Device. ReadTheDocs. (англ.)
- ↑ MXNet.js. Github. (англ.)
- ↑ Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet. GitHub. (англ.)
- ↑ http://mxnet.readthedocs.io/[недоступне посилання] (англ.)
- ↑ Model Gallery. GitHub. (англ.)
- ↑ Run MXNet on Multiple CPU/GPUs with Data Parallel. GitHub. (англ.)
- ↑ TensorFlow 0.12 adds support for Windows (англ.)
- ↑ tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub. GitHub.[недоступне посилання з квітня 2019] (англ.)
- ↑ OpenCL support · Issue #22 · tensorflow/tensorflow. GitHub. (англ.)
- ↑ https://www.tensorflow.org/ (англ.)
- ↑ https://github.com/tensorflow/models (англ.)
- ↑ Using the GPU — Theano 0.8.2 documentation. Архів оригіналу за 1 квітня 2017. Процитовано 16 травня 2017. (англ.)
- ↑ http://deeplearning.net/software/theano/library/gradient.html (англ.)
- ↑ https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ (англ.)
- ↑ Recipes/modelzoo at master · Lasagne/Recipes · GitHub. GitHub. (англ.)
- ↑ Using multiple GPUs — Theano 0.8.2 documentation [Архівовано 2017-05-04 у Wayback Machine.] (англ.)
- ↑ https://github.com/torch/torch7/wiki/Windows (англ.)
- ↑ 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. (англ.)
- ↑ https://github.com/twitter/torch-autograd (англ.)
- ↑ ModelZoo. GitHub. (англ.)
- ↑ https://github.com/torch/torch7/wiki/Cheatsheet#distributed-computing--parallel-processing (англ.)
- ↑ http://blog.stephenwolfram.com/2017/03/the-rd-pipeline-continues-launching-version-11-1/ (англ.)