Сравнение программного обеспечения для глубокого обучения - Comparison of deep-learning software
В следующей таблице сравниваются известные программные фреймворки, библиотеки и компьютерные программы за глубокое обучение.
Программное обеспечение для глубокого обучения по названию
Программного обеспечения | Создатель | Изначальный выпуск | Лицензия на программное обеспечение[а] | Открытый исходный код | Платформа | Написано в | Интерфейс | OpenMP поддерживать | OpenCL поддерживать | CUDA поддерживать | Автоматическая дифференциация[1] | Имеет предварительно обученных моделей | Рекуррентные сети | Сверточные сети | УОР /DBN | Параллельное выполнение (многоузловой) | Активно развивается |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BigDL | Джейсон Дай (Intel) | 2016 | Apache 2.0 | да | Apache Spark | Scala | Скала, Python | Нет | да | да | да | ||||||
Кафе | Центр изучения и видения Беркли | 2013 | BSD | да | Linux, macOS, Windows[2] | C ++ | Python, MATLAB, C ++ | да | В разработке[3] | да | да | да[4] | да | да | Нет | ? | Нет[5] |
Цепочка | Предпочитаемые сети | 2015 | BSD | да | Linux, macOS | Python | Python | Нет | Нет | да | да | да | да | да | Нет | да | Нет[6] |
Deeplearning4j | Команда инженеров Skymind; Сообщество Deeplearning4j; первоначально Адам Гибсон | 2014 | Apache 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 Библиотека ускорения аналитики данных | Intel | 2015 | Лицензия 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, Windows | Python | Python, р | Только при использовании Theano в качестве бэкэнда | Может использовать Theano, Tensorflow или PlaidML в качестве бэкендов | да | да | да[18] | да | да | Нет[19] | да[20] | да |
MATLAB + Набор инструментов для глубокого обучения | MathWorks | Проприетарный | Нет | Linux, macOS, Windows | C, C ++, Ява, MATLAB | MATLAB | Нет | Нет | Тренируйтесь с помощью Parallel Computing Toolbox и генерируйте код CUDA с помощью GPU Coder[21] | да[22] | да[23][24] | да[23] | да[23] | да | С Parallel Computing Toolbox[25] | да | |
Microsoft Cognitive Toolkit (CNTK) | Microsoft Research | 2016 | Лицензия MIT[26] | да | Windows, Linux[27] (macOS через Docker по дорожной карте) | C ++ | Python (Керас ), C ++, Командная строка,[28] BrainScript[29] (.СЕТЬ на дорожной карте[30]) | да[31] | Нет | да | да | да[32] | да[33] | да[33] | Нет[34] | да[35] | Нет[36] |
Apache MXNet | Фонд программного обеспечения Apache | 2015 | Apache 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, Windows | C ++ | Графический пользовательский интерфейс | да | Нет | Нет | ? | ? | Нет | Нет | Нет | ? | ||
OpenNN | Артельника | 2003 | GNU LGPL | да | Кроссплатформенность | C ++ | C ++ | да | Нет | да | ? | ? | Нет | Нет | Нет | ? | |
PlaidML | Vertex.AI, Intel | 2017 | Apache 2.0 | да | Linux, macOS, Windows | Python, C ++, OpenCL | Python, C ++ | ? | Некоторые OpenCL ICD не распознаются | Нет | да | да | да | да | да | да | |
PyTorch | Адам Пашке, Сэм Гросс, Сумит Чинтала, Грегори Чанан (Facebook) | 2016 | BSD | да | Linux, macOS, Windows | Python, C, C ++, CUDA | Python, C ++, Юля | да | Через отдельно обслуживаемый пакет[45][46] | да | да | да | да | да | да | да | |
Apache SINGA | Фонд программного обеспечения Apache | 2015 | Apache 2.0 | да | Linux, macOS, Windows | C ++ | Python, C ++, Ява | Нет | Поддерживается в версии 1.0 | да | ? | да | да | да | да | да | |
TensorFlow | Google Brain | 2015 | Apache 2.0 | да | Linux, macOS, Windows,[47] Android | C ++, Python, CUDA | Python (Керас ), C /C ++, Ява, Идти, JavaScript, р,[48] Юля, Быстрый | Нет | На дорожной карте[49] но уже с SYCL[50] поддерживать | да | да[51] | да[52] | да | да | да | да | да |
Theano | Université de Montréal | 2007 | BSD | да | Кроссплатформенность | Python | Python (Керас ) | да | В разработке[53] | да | да[54][55] | Через модельный зоопарк Лазаньи[56] | да | да | да | да[57] | Нет |
Факел | Ронан Коллобер, Корай Кавукчуоглу, Клемент Фарабет | 2002 | BSD | да | Linux, macOS, Windows,[58] Android,[59] iOS | C, Lua | Lua, LuaJIT,[60] C, служебная библиотека для C ++ /OpenCL[61] | да | Сторонние реализации[62][63] | да[64][65] | Через Twitter Автоград[66] | да[67] | да | да | да | да[58] | Нет |
Wolfram Mathematica | Wolfram Research | 1988 | Проприетарный | Нет | Windows, macOS, Linux, Облачные вычисления | C ++, Язык Wolfram Language, CUDA | Язык Wolfram Language | да | Нет | да | да | да[68] | да | да | да | да[69] | да |
Программного обеспечения | Создатель | Изначальный выпуск | Лицензия на программное обеспечение[а] | Открытый исходный код | Платформа | Написано в | Интерфейс | OpenMP поддерживать | OpenCL поддерживать | CUDA поддерживать | Автоматическая дифференциация[70] | Имеет предварительно обученных моделей | Рекуррентные сети | Сверточные сети | УОР /DBN | Параллельное выполнение (многоузловой) | Активно развивается |
Сравнение совместимости моделей машинного обучения
Имя формата | Цель дизайна | Совместим с другими форматами | Автономная модель DNN | Предварительная обработка и постобработка | Конфигурация времени выполнения для настройки и калибровки | Модель DNN Interconnect | Общая платформа |
---|---|---|---|---|---|---|---|
TensorFlow, Керас, Кафе, Факел, ONNX, | Алгоритм обучения | Нет | Нет / отдельные файлы в большинстве форматов | Нет | Нет | Нет | да |
ONNX | Алгоритм обучения | да | Нет / отдельные файлы в большинстве форматов | Нет | Нет | Нет | да |
Смотрите также
- Сравнение программ численного анализа
- Сравнение статистических пакетов
- Список наборов данных для исследований в области машинного обучения
- Список программ численного анализа
Рекомендации
- ^ Атилим Гюнеш Байдин; Барак А. Перлмуттер; Алексей Андреевич Радул; Джеффри Марк Сискинд (20 февраля 2015 г.). «Автоматическая дифференциация в машинном обучении: обзор». arXiv:1502.05767 [cs.LG ].
- ^ «Майкрософт / кафе». GitHub.
- ^ «Caffe: быстрая открытая платформа для глубокого обучения». 19 июля 2019 г. - через GitHub.
- ^ "Кафе | Модельный зоопарк". caffe.berkeleyvision.org.
- ^ GitHub - BVLC / caffe: Caffe: быстрая открытая платформа для глубокого обучения., Berkeley Vision and Learning Center, 2019-09-25, получено 2019-09-25
- ^ Preferred Networks переносит свою платформу глубокого обучения на PyTorch, 2019-12-05, получено 2019-12-27
- ^ «Поддержка Open CL · Проблема № 27 · deeplearning4j / nd4j». GitHub.
- ^ "N-мерные научные вычисления для Java".
- ^ «Сравнение лучших платформ глубокого обучения». Deeplearning4j. Архивировано из оригинал на 2017-11-07. Получено 2017-10-31.
- ^ Крис Николсон; Адам Гибсон. "Модели Deeplearning4j". Архивировано из оригинал на 2017-02-11. Получено 2016-03-02.
- ^ Deeplearning4j. "Deeplearning4j на Spark". Deeplearning4j. Архивировано из оригинал на 2017-07-13. Получено 2016-09-01.
- ^ "Металлхед". FluxML.
- ^ а б «Библиотека ускорения Intel® Data Analytics (Intel® DAAL)». software.intel.com. 20 ноября 2018.
- ^ «Библиотека ядра Intel® Math (Intel® MKL)». software.intel.com. 11 сентября 2018.
- ^ «Функции глубокой нейронной сети». software.intel.com. 24 мая 2019.
- ^ «Использование Intel® MKL с многопоточными приложениями». software.intel.com. 1 июня 2017 г.
- ^ а б «Intel® Xeon Phi ™ обеспечивает конкурентоспособную производительность для глубокого обучения - и быстро становится лучше». software.intel.com. 21 марта 2019.
- ^ «Приложения - Документация Keras». keras.io.
- ^ «Есть ли RBM в Керасе? · Проблема № 461 · keras-team / keras». GitHub.
- ^ «Поддерживает ли Keras использование нескольких графических процессоров? · Проблема № 2436 · keras-team / keras». GitHub.
- ^ "GPU Coder - MATLAB и Simulink". MathWorks. Получено 13 ноября 2017.
- ^ «Фон автоматического дифференцирования - MATLAB и Simulink». MathWorks. 3 сентября 2019 г.,. Получено 19 ноября, 2019.
- ^ а б c "Набор инструментов нейронной сети - MATLAB". MathWorks. Получено 13 ноября 2017.
- ^ «Модели глубокого обучения - MATLAB и Simulink». MathWorks. Получено 13 ноября 2017.
- ^ «Набор инструментов для параллельных вычислений - MATLAB». MathWorks. Получено 13 ноября 2017.
- ^ "CNTK / LICENSE.md на главном сервере · Microsoft / CNTK · GitHub". GitHub.
- ^ «Настройте CNTK на вашем компьютере». GitHub.
- ^ «Обзор использования CNTK». GitHub.
- ^ «Строитель сети BrainScript». GitHub.
- ^ «Поддержка .NET · Проблема № 960 · Microsoft / CNTK». GitHub.
- ^ «Как обучить модель на нескольких машинах? · Проблема № 59 · Microsoft / CNTK». GitHub.
- ^ «Готовые модели для классификации изображений. Проблема №140. Microsoft / CNTK». GitHub.
- ^ а б «CNTK - Computational Network Toolkit». Корпорация Майкрософт.
- ^ url =https://github.com/Microsoft/CNTK/issues/534
- ^ «Несколько графических процессоров и машин». Корпорация Майкрософт.
- ^ "Заявление об ограничении ответственности". КОМАНДА CNTK.
- ^ «Релизы · dmlc / mxnet». Github.
- ^ «Руководство по установке - документация mxnet». Readthdocs.
- ^ «Интеллектуальное устройство MXNet». ReadTheDocs. Архивировано из оригинал в 2016-09-21. Получено 2016-05-19.
- ^ "MXNet.js". Github.
- ^ «Поддержка других типов устройств, OpenCL AMD GPU · Проблема № 621 · dmlc / mxnet». GitHub.
- ^ «- Перенаправление на mxnet.io». mxnet.readthedocs.io.
- ^ «Галерея моделей». GitHub.
- ^ «Запустите MXNet на нескольких CPU / GPU с параллельной передачей данных». GitHub.
- ^ "OpenCL build of pytorch: (в процессе, не используется) - hughperkins / pytorch-coriander". 14 июля 2019 г. - через GitHub.
- ^ «Поддержка OpenCL · Проблема № 488 · pytorch / pytorch». GitHub.
- ^ «TensorFlow 0.12 добавляет поддержку Windows».
- ^ интерфейс), JJ Allaire (R; RStudio; Eddelbuettel, Dirk; Golding, Nick; Tang, Yuan; Tutorials), Google Inc (Примеры и (2017-05-26), tenorflow: интерфейс R для TensorFlow, получено 2017-06-14
- ^ "tensorflow / roadmap.md в главном · тензорном потоке / тензорном потоке · GitHub". GitHub. 23 января 2017 г.. Получено 21 мая, 2017.
- ^ «Поддержка OpenCL. Проблема № 22. Тензорный поток / тензорный поток». GitHub.
- ^ «TensorFlow». TensorFlow.
- ^ «Модели и примеры, созданные с помощью TensorFlow». 19 июля 2019 г. - через GitHub.
- ^ «Использование графического процессора - документация Theano 0.8.2».
- ^ "градиент - символическая дифференциация - документация Theano 1.0.0". deeplearning.net.
- ^ https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
- ^ «Рецепты / модельзоо у мастера · Лазанья / Рецепты · GitHub». GitHub.
- ^ «Использование нескольких графических процессоров - документация Theano 1.0.0». deeplearning.net.
- ^ а б "факел / факел7". 18 июля 2019 г. - через GitHub.
- ^ "GitHub - soumith / torch-android: Torch-7 для Android". GitHub.
- ^ "Torch7: среда для машинного обучения, подобная Matlab" (PDF).
- ^ "GitHub - jonathantompson / jtorch: служебная библиотека OpenCL Torch". GitHub.
- ^ "Шпаргалка". GitHub.
- ^ "газовая горелка". GitHub.
- ^ "Серверная часть Torch CUDA". GitHub.
- ^ "Серверная часть CUDA Torch для nn". GitHub.
- ^ "Autograd автоматически распознает собственный код Torch: twitter / torch-autograd". 9 июля 2019 г. - через GitHub.
- ^ «Модельный зоопарк». GitHub.
- ^ "Репозиторий моделей нейронных сетей Wolfram Neural Net". resources.wolframcloud.com.
- ^ «Параллельные вычисления - документация на языке Wolfram Language». reference.wolfram.com.
- ^ Атилим Гюнеш Байдин; Барак А. Перлмуттер; Алексей Андреевич Радул; Джеффри Марк Сискинд (20 февраля 2015 г.). «Автоматическая дифференциация в машинном обучении: обзор». arXiv:1502.05767 [cs.LG ].