Сравнение программного обеспечения для глубокого обучения - Comparison of deep-learning software

В следующей таблице сравниваются известные программные фреймворки, библиотеки и компьютерные программы за глубокое обучение.

Программное обеспечение для глубокого обучения по названию

Программного обеспеченияСоздательИзначальный выпускЛицензия на программное обеспечение[а]Открытый исходный кодПлатформаНаписано вИнтерфейсOpenMP поддерживатьOpenCL поддерживатьCUDA поддерживатьАвтоматическая дифференциация[1]Имеет предварительно обученных моделейРекуррентные сетиСверточные сетиУОР /DBNПараллельное выполнение (многоузловой)Активно развивается
BigDLДжейсон Дай (Intel)2016Apache 2.0даApache SparkScalaСкала, PythonНетдадада
КафеЦентр изучения и видения Беркли2013BSDдаLinux, macOS, Windows[2]C ++Python, MATLAB, C ++даВ разработке[3]дадада[4]дадаНет?Нет[5]
ЦепочкаПредпочитаемые сети2015BSDдаLinux, macOSPythonPythonНетНетдададададаНетдаНет[6]
Deeplearning4jКоманда инженеров Skymind; Сообщество Deeplearning4j; первоначально Адам Гибсон2014Apache 2.0даLinux, macOS, Windows, Android (Кроссплатформенность )C ++, ЯваЯва, Scala, Clojure, Python (Керас ), КотлиндаНет[7]да[8][9]Вычислительный графикда[10]дададада[11]
ДлибДэвис Кинг2002Лицензия на программное обеспечение BoostдаКроссплатформенностьC ++C ++, PythonдаНетдададаНетдадада
ПотокМайк Иннес2017Лицензия MITдаLinux, MacOS, Windows (Кроссплатформенность )ЮляЮлядадада[12]дадаНетдада
Intel Библиотека ускорения аналитики данныхIntel2015Лицензия Apache 2.0даLinux, macOS, Windows на Intel ЦПУ[13]C ++, Python, ЯваC ++, Python, Ява[13]даНетНетдаНетдада
Intel Математическая библиотека ядраIntelПроприетарныйНетLinux, macOS, Windows на Intel ЦПУ[14]C[15]да[16]НетНетдаНетда[17]да[17]Нет
КерасФрансуа Шоле2015Лицензия MITдаLinux, macOS, WindowsPythonPython, рТолько при использовании Theano в качестве бэкэндаМожет использовать Theano, Tensorflow или PlaidML в качестве бэкендовдадада[18]дадаНет[19]да[20]да
MATLAB + Набор инструментов для глубокого обученияMathWorksПроприетарныйНетLinux, macOS, WindowsC, C ++, Ява, MATLABMATLABНетНетТренируйтесь с помощью Parallel Computing Toolbox и генерируйте код CUDA с помощью GPU Coder[21]да[22]да[23][24]да[23]да[23]даС Parallel Computing Toolbox[25]да
Microsoft Cognitive Toolkit (CNTK)Microsoft Research2016Лицензия MIT[26]даWindows, Linux[27] (macOS через Docker по дорожной карте)C ++Python (Керас ), C ++, Командная строка,[28] BrainScript[29] (.СЕТЬ на дорожной карте[30])да[31]Нетдадада[32]да[33]да[33]Нет[34]да[35]Нет[36]
Apache MXNetФонд программного обеспечения Apache2015Apache 2.0даLinux, macOS, Windows,[37][38] AWS, Android,[39] iOS, JavaScript[40]Маленький C ++ основная библиотекаC ++, Python, Юля, Matlab, JavaScript, Идти, р, Scala, Perl, ClojureдаНа дорожной карте[41]дада[42]да[43]дададада[44]да
Нейронный дизайнерАртельникаПроприетарныйНетLinux, macOS, WindowsC ++Графический пользовательский интерфейсдаНетНет??НетНетНет?
OpenNNАртельника2003GNU LGPLдаКроссплатформенностьC ++C ++даНетда??НетНетНет?
PlaidMLVertex.AI, Intel2017Apache 2.0даLinux, macOS, WindowsPython, C ++, OpenCLPython, C ++?Некоторые OpenCL ICD не распознаютсяНетдададададада
PyTorchАдам Пашке, Сэм Гросс, Сумит Чинтала, Грегори Чанан (Facebook)2016BSDдаLinux, macOS, WindowsPython, C, C ++, CUDAPython, C ++, ЮлядаЧерез отдельно обслуживаемый пакет[45][46]дадададададада
Apache SINGAФонд программного обеспечения Apache2015Apache 2.0даLinux, macOS, WindowsC ++Python, C ++, ЯваНетПоддерживается в версии 1.0да?дадададада
TensorFlowGoogle Brain2015Apache 2.0даLinux, macOS, Windows,[47] AndroidC ++, Python, CUDAPython (Керас ), C /C ++, Ява, Идти, JavaScript, р,[48] Юля, БыстрыйНетНа дорожной карте[49] но уже с SYCL[50] поддерживатьдада[51]да[52]дадададада
TheanoUniversité de Montréal2007BSDдаКроссплатформенностьPythonPython (Керас )даВ разработке[53]дада[54][55]Через модельный зоопарк Лазаньи[56]дададада[57]Нет
ФакелРонан Коллобер, Корай Кавукчуоглу, Клемент Фарабет2002BSDдаLinux, macOS, Windows,[58] Android,[59] iOSC, LuaLua, LuaJIT,[60] C, служебная библиотека для C ++ /OpenCL[61]даСторонние реализации[62][63]да[64][65]Через Twitter Автоград[66]да[67]дададада[58]Нет
Wolfram MathematicaWolfram Research1988ПроприетарныйНетWindows, macOS, Linux, Облачные вычисленияC ++, Язык Wolfram Language, CUDAЯзык Wolfram LanguageдаНетдадада[68]дададада[69]да
Программного обеспеченияСоздательИзначальный выпускЛицензия на программное обеспечение[а]Открытый исходный кодПлатформаНаписано вИнтерфейсOpenMP поддерживатьOpenCL поддерживатьCUDA поддерживатьАвтоматическая дифференциация[70]Имеет предварительно обученных моделейРекуррентные сетиСверточные сетиУОР /DBNПараллельное выполнение (многоузловой)Активно развивается
  1. ^ а б Лицензии здесь представляют собой краткое изложение и не считаются полными заявлениями о лицензиях. Некоторые библиотеки могут использовать другие библиотеки внутри компании под другими лицензиями.

Сравнение совместимости моделей машинного обучения

Имя форматаЦель дизайнаСовместим с другими форматамиАвтономная модель DNNПредварительная обработка и постобработкаКонфигурация времени выполнения для настройки и калибровкиМодель DNN InterconnectОбщая платформа
TensorFlow, Керас, Кафе, Факел, ONNX,Алгоритм обученияНетНет / отдельные файлы в большинстве форматовНетНетНетда
ONNXАлгоритм обучениядаНет / отдельные файлы в большинстве форматовНетНетНетда

Смотрите также

Рекомендации

  1. ^ Атилим Гюнеш Байдин; Барак А. Перлмуттер; Алексей Андреевич Радул; Джеффри Марк Сискинд (20 февраля 2015 г.). «Автоматическая дифференциация в машинном обучении: обзор». arXiv:1502.05767 [cs.LG ].
  2. ^ «Майкрософт / кафе». GitHub.
  3. ^ «Caffe: быстрая открытая платформа для глубокого обучения». 19 июля 2019 г. - через GitHub.
  4. ^ "Кафе | Модельный зоопарк". caffe.berkeleyvision.org.
  5. ^ GitHub - BVLC / caffe: Caffe: быстрая открытая платформа для глубокого обучения., Berkeley Vision and Learning Center, 2019-09-25, получено 2019-09-25
  6. ^ Preferred Networks переносит свою платформу глубокого обучения на PyTorch, 2019-12-05, получено 2019-12-27
  7. ^ «Поддержка Open CL · Проблема № 27 · deeplearning4j / nd4j». GitHub.
  8. ^ "N-мерные научные вычисления для Java".
  9. ^ «Сравнение лучших платформ глубокого обучения». Deeplearning4j. Архивировано из оригинал на 2017-11-07. Получено 2017-10-31.
  10. ^ Крис Николсон; Адам Гибсон. "Модели Deeplearning4j". Архивировано из оригинал на 2017-02-11. Получено 2016-03-02.
  11. ^ Deeplearning4j. "Deeplearning4j на Spark". Deeplearning4j. Архивировано из оригинал на 2017-07-13. Получено 2016-09-01.
  12. ^ "Металлхед". FluxML.
  13. ^ а б «Библиотека ускорения Intel® Data Analytics (Intel® DAAL)». software.intel.com. 20 ноября 2018.
  14. ^ «Библиотека ядра Intel® Math (Intel® MKL)». software.intel.com. 11 сентября 2018.
  15. ^ «Функции глубокой нейронной сети». software.intel.com. 24 мая 2019.
  16. ^ «Использование Intel® MKL с многопоточными приложениями». software.intel.com. 1 июня 2017 г.
  17. ^ а б «Intel® Xeon Phi ™ обеспечивает конкурентоспособную производительность для глубокого обучения - и быстро становится лучше». software.intel.com. 21 марта 2019.
  18. ^ «Приложения - Документация Keras». keras.io.
  19. ^ «Есть ли RBM в Керасе? · Проблема № 461 · keras-team / keras». GitHub.
  20. ^ «Поддерживает ли Keras использование нескольких графических процессоров? · Проблема № 2436 · keras-team / keras». GitHub.
  21. ^ "GPU Coder - MATLAB и Simulink". MathWorks. Получено 13 ноября 2017.
  22. ^ «Фон автоматического дифференцирования - MATLAB и Simulink». MathWorks. 3 сентября 2019 г.,. Получено 19 ноября, 2019.
  23. ^ а б c "Набор инструментов нейронной сети - MATLAB". MathWorks. Получено 13 ноября 2017.
  24. ^ «Модели глубокого обучения - MATLAB и Simulink». MathWorks. Получено 13 ноября 2017.
  25. ^ «Набор инструментов для параллельных вычислений - MATLAB». MathWorks. Получено 13 ноября 2017.
  26. ^ "CNTK / LICENSE.md на главном сервере · Microsoft / CNTK · GitHub". GitHub.
  27. ^ «Настройте CNTK на вашем компьютере». GitHub.
  28. ^ «Обзор использования CNTK». GitHub.
  29. ^ «Строитель сети BrainScript». GitHub.
  30. ^ «Поддержка .NET · Проблема № 960 · Microsoft / CNTK». GitHub.
  31. ^ «Как обучить модель на нескольких машинах? · Проблема № 59 · Microsoft / CNTK». GitHub.
  32. ^ «Готовые модели для классификации изображений. Проблема №140. Microsoft / CNTK». GitHub.
  33. ^ а б «CNTK - Computational Network Toolkit». Корпорация Майкрософт.
  34. ^ url =https://github.com/Microsoft/CNTK/issues/534
  35. ^ «Несколько графических процессоров и машин». Корпорация Майкрософт.
  36. ^ "Заявление об ограничении ответственности". КОМАНДА CNTK.
  37. ^ «Релизы · dmlc / mxnet». Github.
  38. ^ «Руководство по установке - документация mxnet». Readthdocs.
  39. ^ «Интеллектуальное устройство MXNet». ReadTheDocs. Архивировано из оригинал в 2016-09-21. Получено 2016-05-19.
  40. ^ "MXNet.js". Github.
  41. ^ «Поддержка других типов устройств, OpenCL AMD GPU · Проблема № 621 · dmlc / mxnet». GitHub.
  42. ^ «- Перенаправление на mxnet.io». mxnet.readthedocs.io.
  43. ^ «Галерея моделей». GitHub.
  44. ^ «Запустите MXNet на нескольких CPU / GPU с параллельной передачей данных». GitHub.
  45. ^ "OpenCL build of pytorch: (в процессе, не используется) - hughperkins / pytorch-coriander". 14 июля 2019 г. - через GitHub.
  46. ^ «Поддержка OpenCL · Проблема № 488 · pytorch / pytorch». GitHub.
  47. ^ «TensorFlow 0.12 добавляет поддержку Windows».
  48. ^ интерфейс), JJ Allaire (R; RStudio; Eddelbuettel, Dirk; Golding, Nick; Tang, Yuan; Tutorials), Google Inc (Примеры и (2017-05-26), tenorflow: интерфейс R для TensorFlow, получено 2017-06-14
  49. ^ "tensorflow / roadmap.md в главном · тензорном потоке / тензорном потоке · GitHub". GitHub. 23 января 2017 г.. Получено 21 мая, 2017.
  50. ^ «Поддержка OpenCL. Проблема № 22. Тензорный поток / тензорный поток». GitHub.
  51. ^ «TensorFlow». TensorFlow.
  52. ^ «Модели и примеры, созданные с помощью TensorFlow». 19 июля 2019 г. - через GitHub.
  53. ^ «Использование графического процессора - документация Theano 0.8.2».
  54. ^ "градиент - символическая дифференциация - документация Theano 1.0.0". deeplearning.net.
  55. ^ https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
  56. ^ «Рецепты / модельзоо у мастера · Лазанья / Рецепты · GitHub». GitHub.
  57. ^ «Использование нескольких графических процессоров - документация Theano 1.0.0». deeplearning.net.
  58. ^ а б "факел / факел7". 18 июля 2019 г. - через GitHub.
  59. ^ "GitHub - soumith / torch-android: Torch-7 для Android". GitHub.
  60. ^ "Torch7: среда для машинного обучения, подобная Matlab" (PDF).
  61. ^ "GitHub - jonathantompson / jtorch: служебная библиотека OpenCL Torch". GitHub.
  62. ^ "Шпаргалка". GitHub.
  63. ^ "газовая горелка". GitHub.
  64. ^ "Серверная часть Torch CUDA". GitHub.
  65. ^ "Серверная часть CUDA Torch для nn". GitHub.
  66. ^ "Autograd автоматически распознает собственный код Torch: twitter / torch-autograd". 9 июля 2019 г. - через GitHub.
  67. ^ «Модельный зоопарк». GitHub.
  68. ^ "Репозиторий моделей нейронных сетей Wolfram Neural Net". resources.wolframcloud.com.
  69. ^ «Параллельные вычисления - документация на языке Wolfram Language». reference.wolfram.com.
  70. ^ Атилим Гюнеш Байдин; Барак А. Перлмуттер; Алексей Андреевич Радул; Джеффри Марк Сискинд (20 февраля 2015 г.). «Автоматическая дифференциация в машинном обучении: обзор». arXiv:1502.05767 [cs.LG ].