Порівняння програмного забезпечення глибокого навчання

У наступній таблиці зведені відомості про деякі з найпопулярніших програмних каркасів, бібліотек та комп'ютерних програм для глибокого навчання.

Перелік програмного забезпечення глибокого навчання

ред.
Назва Розробник Ліцензія[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] Так Так Так Так
  1. Ліцензії тут є спрощеними, і не претендують на вичерпність ліцензійних умов. Деякі бібліотеки можуть внутрішньо використовувати інші бібліотеки за відмінними ліцензіями

Пов'язане програмне забезпечення

ред.
  • Neural Engineering Object[en] (NENGO) — графічне та сценарійне програмне забезпечення для імітування великомасштабних нейронних систем
  • Numenta Platform for Intelligent Computing (платформа Numenta для розумних обчислень) — відкрита реалізація компанією Numenta їхньої моделі ієрархічної часової пам'яті.

Див. також

ред.

Примітки

ред.
  1. Microsoft/caffe. GitHub. (англ.)
  2. OpenCL Caffe. (англ.)
  3. Caffe Model Zoo. (англ.)
  4. Support for Open CL · Issue #27 · deeplearning4j/nd4j. GitHub. (англ.)
  5. N-Dimensional Scientific Computing for Java. Архів оригіналу за 16 жовтня 2016. Процитовано 16 травня 2017. (англ.)
  6. Chris Nicholson; Adam Gibson. Deeplearning4j Models. Архів оригіналу за 11 лютого 2017. Процитовано 16 травня 2017. (англ.)
  7. Deeplearning4j. Deeplearning4j on Spark. Deeplearning4j. Архів оригіналу за 13 липня 2017. Процитовано 16 травня 2017. (англ.)
  8. Keras Documentatin // Applications (англ.)
  9. Does Keras support using multiple GPUs? · Issue #2436 · fchollet/keras (англ.)
  10. CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub. GitHub. (англ.)
  11. Setup CNTK on your machine. GitHub. (англ.)
  12. CNTK usage overview. GitHub. (англ.)
  13. BrainScript Network Builder. GitHub. (англ.)
  14. .NET Support · Issue #960 · Microsoft/CNTK. GitHub. (англ.)
  15. How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK. GitHub. (англ.)
  16. https://github.com/Microsoft/CNTK/issues/140#issuecomment-186466820 (англ.)
  17. а б CNTK - Computational Network Toolkit. Microsoft Corporation. (англ.)
  18. url=https://github.com/Microsoft/CNTK/issues/534 (англ.)
  19. Multiple GPUs and machines. Microsoft Corporation. (англ.)
  20. Releases · dmlc/mxnet. Github. (англ.)
  21. Installation Guide — mxnet documentation. Readthdocs. (англ.)
  22. MXNet Smart Device. ReadTheDocs. (англ.)
  23. MXNet.js. Github. (англ.)
  24. Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet. GitHub. (англ.)
  25. http://mxnet.readthedocs.io/[недоступне посилання] (англ.)
  26. Model Gallery. GitHub. (англ.)
  27. Run MXNet on Multiple CPU/GPUs with Data Parallel. GitHub. (англ.)
  28. TensorFlow 0.12 adds support for Windows (англ.)
  29. tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub. GitHub.[недоступне посилання з квітня 2019] (англ.)
  30. OpenCL support · Issue #22 · tensorflow/tensorflow. GitHub. (англ.)
  31. https://www.tensorflow.org/ (англ.)
  32. https://github.com/tensorflow/models (англ.)
  33. Using the GPU — Theano 0.8.2 documentation. Архів оригіналу за 1 квітня 2017. Процитовано 16 травня 2017. (англ.)
  34. http://deeplearning.net/software/theano/library/gradient.html (англ.)
  35. https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ (англ.)
  36. Recipes/modelzoo at master · Lasagne/Recipes · GitHub. GitHub. (англ.)
  37. Using multiple GPUs — Theano 0.8.2 documentation [Архівовано 2017-05-04 у Wayback Machine.] (англ.)
  38. https://github.com/torch/torch7/wiki/Windows (англ.)
  39. GitHub - soumith/torch-android: Torch-7 for Android. GitHub. (англ.)
  40. Torch7: A Matlab-like Environment for Machine Learning (PDF). (англ.)
  41. GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library. GitHub. (англ.)
  42. Cheatsheet. GitHub. (англ.)
  43. cltorch. GitHub. (англ.)
  44. Torch CUDA backend. GitHub. (англ.)
  45. Torch CUDA backend for nn. GitHub. (англ.)
  46. https://github.com/twitter/torch-autograd (англ.)
  47. ModelZoo. GitHub. (англ.)
  48. https://github.com/torch/torch7/wiki/Cheatsheet#distributed-computing--parallel-processing (англ.)
  49. http://blog.stephenwolfram.com/2017/03/the-rd-pipeline-continues-launching-version-11-1/ (англ.)