13 лучших библиотек глубокого машинного обучения для Python

Когда дело касается задач машинного обучения, искусственного интеллекта, Deep Learning и данных, Python безусловно продолжает лидировать. Согласно builtwith.com, 45% технологических компаний предпочитают использовать Python для реализации ИИ и машинного обучения.

Ниже приведен список 13 самых популярных библиотек Python, используемых при решении многочисленных задач глубокого машинного обучения Конечно, список этот субъективен. Многие библиотеки могут быть легко отнесены к нескольких категориям искусственного интеллекта. Например, TensorFlow включен в наш список, а Keras, наоборот, считается библиотекой Machine Learning. Связано это с тем, что Keras скорее библиотека для «конечного пользователя», такая как SKLearn. Что отличает её от TensorFlow, которая больше привлекает исследователей и «инженеров-машинистов».

ython deep learninig
Рисунок 1: 13 лучших библиотек Deep Learning на Python, Commits и Contributors. Размер метки пропорционален количеству звезд.

Теперь давайте перейдем непосредственно к списку (цифры с GitHub получены 23 октября 2018 года):

1. TensorFlow

(Contributors — 1 700, Commits — 42 256, ✬✬✬ — 112 591)

TensorFlow — библиотека с открытым исходным кодом для численного расчета с использованием графов потока данных. Узлы графа представляют собой математические операции, а ребра — многомерные массивы данных (тензоры), которые текут между ними. Такая гибкая архитектура позволяет развернуть вычисления на одном или нескольких процессорах или графических процессорах на рабочем столе, сервере или мобильном устройстве без переписывания кода.

2. PyTorch

(Contributors — 806, Commits — 14 022, ✬✬✬ — 20 243)

PyTorch — это пакет Python, который обеспечивает две функции высокого уровня:

  1. Расчет тензора (например, NumPy) с сильным ускорением GPU
  2. Глубокие нейронные сети, построенные на ленточной автоградной системе

Вы можете использовать свои любимые пакеты Python, такие как NumPy, SciPy и Cython для расширения PyTorch при необходимости.

3. Apache MXNet

(Contributors — 628, Commits — 8 723, ✬✬✬ — 15 447)

Apache MXNet (инкубация) — база Deep Learning, ориеннтрованная на эффективность и гибкость. Это позволяет сочетать символическое и императивное программирование для увеличения эффективности и производительности. По своей сути MXNet содержит динамический планировщик зависимостей, который «на лету» автоматически распараллеливает как символические, так и императивные операции.

4. Theano

(Contributors — 329, Commits — 28 033, ✬✬✬ — 8 536)

Theano — библиотека Python, которая позволяет эффективно определять, оптимизировать и оценивать математические выражения, содержащие многомерные массивы. Она может использовать графические процессоры и выполнять эффективную символическую дифференциацию.

5. Caffe

(Contributors — 270, Commits — 4 152, ✬✬✬ — 25 927)

Caffe — база Deep Learning, разработанная с учетом выраженности, скорости и модульности. Разработана в Berkeley AI Research (BAIR) / The Berkeley Vision and Learning Center (BVLC) и их сообществами.

6. fast.ai

(Contributors — 226, Commits — 2 237, ✬✬✬ — 8 872)

Библиотека fastai упрощает обучение быстрым и точным нейронным сетям, используя современные передовые методы. Для начала ознакомьтесь с сайтом fast.ai. Библиотека основана на исследованиях в области передовых методов Deep Learning, проводимых на fast.ai, и включает в себя «из коробки» поддержку моделей видения, текста, таблиц и коллабов (совместная фильтрация).

7. CNTK>/a>

(Contributors — 189, Commits — 15 979, ✬✬✬ — 15 281)

Инструментарий Microsoft Cognitive Toolkit ( https://cntk.ai ) — унифицированный инструментарий Deep Learning, который описывает нейронные сети как серию вычислительных шагов через ориентированный граф. В этом ориентированном графе листовые узлы представляют входные значения или сетевые параметры, тогда как другие узлы представляют собой матричные операции на своих входах. CNTK позволяет пользователям легко реализовывать и комбинировать популярные типы моделей, такие как DNN прямой линии связи, сверточные сети (CNN) и свёрточные сети (RNNs / LSTM).

8. TFLearn

(Contributors — 118, Commits — 599, ✬✬✬ — 8 632)

TFlearn — модульная и прозрачная библиотека Deep Learning, построенная на основе Tensorflow. Она был разработана для предоставления API для TensorFlow более высокого уровня, облегчающий и ускоряющий эксперименты, оставаясь полностью прозрачным и совместимым.

9. Lasagne

(Contributors — 64, Commits — 1 157, ✬✬✬ — 3 534)

Lasagne — легкая библиотека для создания и обучения нейронных сетей в Теано. Она поддерживает сети передачи данных, такие как сверточные нейронные сети (CNN), свёрточные сети, включая Long Short-Term Memory (LSTM) и любую их комбинацию.

10. nolearn

(Contributors — 14, Commits — 389, ✬✬✬ — 909)

Nolearn содержит множество оберток и абстракций вокруг существующих нейронных сетевых библиотек, в первую очередь Lasagne, а также несколько модулей для машинного обучения. Весь код написан для совместимости с scikit-learn.

11. Elephas

(Contributors — 13, Commits — 249, ✬✬✬ — 1 046)

Elephas — это расширение Keras, которое позволяет вам запускать распределенные модели Deep Learning в масштабе с помощью Spark. В настоящее время Elephas поддерживает ряд приложений, в том числе:

  1. Параллельная подготовка моделей Deep Learning
  2. Распределенная оптимизация гиперпараметров
  3. Распределенное обучение ансамблевым моделям

12. spark-deep-learning

(Contributors — 12, Commits — 83, ✬✬✬ — 1 131)

Deep Learning Pipelines предоставляет высокоуровневые API для масштабируемого Deep Learning на Python с Apache Spark. Библиотека исходит от Databricks и использует Spark для двух самых сильных аспектов:

  1. В духе Spark и Spark MLlib он предоставляет простые в использовании API, которые позволяют осуществлять глубокое обучение в очень немногих строках кода.
  2. Он использует мощный распределенный движок Spark для глубокого изучения массивных наборов данных.

13. Distributed Keras

(Contributors — 5, Commits — 1 125, ✬✬✬ — 523)

Распределенная Keras — это распределенная система Deep Learning, построенная поверх Apache Spark и Keras, с упором на« современные »распределенные алгоритмы оптимизации. Мы разработали структуру таким образом, чтобы новый распределенный оптимизатор мог быть реализован с легкостью, что позволило человеку сосредоточиться на исследованиях.

Следите за следующей частью этой серии, в которой основное внимание уделяется Укреплению знаний и библиотекам эволюционных вычислений, которые будут опубликованы в течение следующих нескольких недель!

По мотивам: Top 13 Python Deep Learning Libraries. By Dan Clark, KDnuggets.

CC BY-NC 4.0 13 лучших библиотек глубокого машинного обучения для Python, опубликовано К ВВ, лицензия — Creative Commons Attribution-NonCommercial 4.0 International.


Респект и уважуха

Добавить комментарий