TensorFlow против Theano против Torch против Keras: библиотека глубокого обучения

Искусственный интеллект растетwing популярность с 2016 года: 20% крупных компаний используют ИИ в своем бизнесе (McKinsey отчету, 2018). Согласно тому же отчету, ИИ может создавать значительную ценность во всех отраслях. Например, в банковской сфере потенциал ИИ оценивается в $300 миллиардов, в розничной торговле это число резко возросло до $600 миллиарда долларов.

Чтобы раскрыть потенциальную ценность ИИ, компании должны выбрать правильную структуру глубокого обучения. В этом руководстве вы узнаете о различных библиотеках, доступных для выполнения задач глубокого обучения. Некоторые библиотеки существуют уже много лет, а в последние годы появилась новая библиотека, такая как TensorFlow.

8 лучших библиотек/фреймворков глубокого обучения

В этом списке мы сравним лучшие платформы глубокого обучения. Все они имеют открытый исходный код и популярны в сообществе специалистов по данным. Мы также сравним популярные ML в качестве поставщиков услуг.

факел

Torch — старая библиотека машинного обучения с открытым исходным кодом. Впервые он был выпущен 15 лет назад. Основным языком программирования является LUA, но он имеет реализацию на C. Сравнивая PyTorch и TensorFlow, он поддерживает обширную библиотеку алгоритмов машинного обучения, включая глубокое обучение. Он поддерживает реализацию CUDA для параллельных вычислений.

Инструмент глубокого обучения Torch используется большинством ведущих лабораторий, таких как Facebook, Google, Twitter, Nvidia и так далее. У Torch есть библиотека на языке Python под названием Pytorch.

Инфер.нет

Infer.net разрабатывается и поддерживается Microsoft. Infer.net — это библиотека, основное внимание которой уделяется байесовской статистике. Infer.net — это инструмент визуализации для глубокого обучения, предназначенный для того, чтобы предложить практикующим специалистам самые современные алгоритмы вероятностного моделирования. Библиотека содержит аналитические инструменты такие как байесовский анализ, скрытая цепь Маркова, кластеризация.

Keras

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

Keras был разработан Франсуа Шолле, исследователем Google. Keras используется в таких известных организациях, как CERN, Yelp, Square или Google, Netflix и Uber.

Keras

Theano

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

Microsoft Когнитивный инструментарий (CNTK)

Microsoft набор инструментов, ранее известный как CNTK, представляет собой библиотеку глубокого обучения, разработанную Microsoft. В соответствии с Microsoft, библиотека является одной из самых быстрых на рынке. Microsoft Toolkit — это библиотека с открытым исходным кодом, хотя Microsoft широко использует его для своих продуктов, таких как Skype, Cortana, Bing и X.box. Инструментарий доступен как на Python, так и на C++.

MXNet

MXnet — это новейшая библиотека глубокого обучения. Он доступен с помощью нескольких языков программирования, включая C++, Julia, Python и R. MXNet можно настроить для работы как с процессором, так и с графическим процессором. MXNet включает в себя современную архитектуру глубокого обучения, такую ​​как сверточная нейронная сеть и долгосрочная краткосрочная память. MXNet создан для гармоничной работы с динамической облачной инфраструктурой. Основным пользователем MXNet является Amazon

Кафе

Caffe — это библиотека, построенная Янцин Цзя, когда он был аспирантом в Беркли. Сравнивая Caffe и TensorFlow, Caffe написан на C++ и может выполнять вычисления как на CPU, так и на GPU. Основное использование Caffe — сверточная нейронная сеть. Однако в 2017 году Facebook расширил Caffe более глубокой архитектурой обучения, включая рекуррентную нейронную сеть. Caffe используют ученые и стартапы, а также некоторые крупные компании, такие как Yahoo!.

TensorFlow

TensorFlow — проект Google с открытым исходным кодом. TensorFlow — самая известная библиотека глубокого обучения на сегодняшний день. Он был представлен публике в конце 2015 года.

TensorFlow

TensorFlow разработан на C++ и имеет удобный API Python, хотя API C++ также доступны. Известные компании, такие как Airbus, Google, IBM и т. д. используют TensorFlow для создания алгоритмов глубокого обучения.

TensorFlow против Theano против Torch против Keras против infer.net против CNTK против MXNet против Caffe: ключевые различия

Библиотека Платформа Написано в Cuda поддержка Параллельное выполнение Имеет обученные модели РНН CNN
факел Линукс, макОС, Виндовс Lua Да Да Да Да Да
Инфер.Нет Линукс, макОС, Виндовс Visual Studio Нет Нет Нет Нет Нет
Keras Линукс, макОС, Виндовс Питон Да Да Да Да Да
Theano Кросс-платформенная Питон Да Да Да Да Да
TensorFlow Linux, macOS, Windows, Android С++, Питон, CUDA Да Да Да Да Да
MICROSOFT КОГНИТИВНЫЙ ИНСТРУМЕНТАРИЙ Linux, Windows, Mac с Docker C + + Да Да Да Да Да
Кафе Линукс, макОС, Виндовс C + + Да Да Да Да Да
MXNet Linux, Windows, macOS, Android, iOS, Javascript C + + Да Да Да Да Да

Вердикт

TensorFlow — лучшая библиотека из всех, потому что она создана так, чтобы быть доступной каждому. Библиотека Tensorflow включает в себя различные API для построения масштабной архитектуры глубокого обучения, такой как CNN или RNN. TensorFlow основан на вычислении графов и позволяет разработчику визуализировать построение нейронной сети с помощью Тензорбоад. Этот инструмент полезен для отладки программы. Наконец, Tensorflow создан для масштабного развертывания. Он работает на процессоре и графическом процессоре.

Tensorflow пользуется наибольшей популярностью на GitHub по сравнению с другими библиотеками глубокого обучения.

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

Фоллоwing 4 популярных DL как поставщика услуг

Google Cloud ML

Google предоставляет разработчикам предварительно обученную модель, доступную в Cloud AutoML. Это решение существует для разработчика без большого опыта в обучение с помощью машины. Разработчики могут использовать современную предварительно обученную модель Google для своих данных. Это позволяет любому разработчику обучить и оценить любую модель всего за несколько минут.

В настоящее время Google предоставляет REST API для компьютерного зрения, распознавания речи, перевода и НЛП.

Google Cloud ML

Используя Google Cloud, вы можете обучать среду машинного обучения, построенную на TensorFlow, Scikit-learn, XGBoost или Keras. Машинное обучение Google Cloud будет обучать модели в своем облаке.

Преимущество использования облачных вычислений Google заключается в простоте внедрения машинного обучения в производство. Нет необходимости настраивать Docker-контейнер. Кроме того, облако заботится об инфраструктуре. Он знает, как распределять ресурсы между процессорами, графическими процессорами и TPU. Это ускоряет обучение за счет параллельных вычислений.

AWS SageMaker

Основным конкурентом Google Cloud является Amazon облако, AWS. Amazon разработал Amazon SageMaker позволяет ученым и разработчикам данных создавать, обучать и внедрять в производство любые модели машинного обучения.
SageMaker доступен в Jupyter Notebook и включает в себя наиболее часто используемые библиотеки машинного обучения, TensorFlow, MXNet, Scikit-learn и другие. Программы, написанные с помощью SageMaker, автоматически запускаются в контейнерах Docker. Amazon управляет распределением ресурсов для оптимизации обучения и развертывания.

AWS SageMaker

Amazon предоставляет API разработчикам, чтобы сделать их приложения более интеллектуальными. В некоторых случаях нет необходимости изобретать велосипед и создавать новые модели с нуля, поскольку в облаке есть мощные предварительно обученные модели. Amazon предоставляет услуги API для компьютерного зрения, разговорного chatbotи лингвистические услуги:

Три основных доступных API:

  • Amazon Признание: обеспечивает распознавание изображений и видео в приложении
  • Amazon Постигать: Выполняйте интеллектуальный анализ текста и обработку нейронного языка, например, чтобы автоматизировать процесс проверки законности финансового документа.
  • Amazon Лекс: Добавить chatbot в приложение

Студия машинного обучения Azure

Вероятно, одним из самых дружественных подходов к машинному обучению является Azure Machine Learning Studio. Существенным преимуществом этого решения является то, что не требуется никаких предварительных знаний в области программирования.

Microsoft Azure Machine Learning Studio — это инструмент для совместной работы с возможностью перетаскивания, позволяющий создавать, обучать, оценивать и развертывать решения машинного обучения. Модель можно эффективно развернуть в виде веб-сервисов и использовать в нескольких приложениях, таких как Excel.

Интерфейс машинного обучения Azure является интерактивным.wing пользователь может построить модель, просто быстро перетаскивая элементы.

Студия машинного обучения Azure

Когда модель будет готова, разработчик может сохранить ее и отправить в Azure. Фото или Azure Marketplace.

Машинное обучение Azure можно интегрировать в R или Питон их собственный встроенный пакет.

IBM Уотсон МЛ

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

IBM Уотсон МЛ

Студия Watson поддерживает некоторые из самых популярных платформ, таких как Tensorflow, Keras, Pytorch, Caffe, и может развернуть алгоритм глубокого обучения на новейших графических процессорах Nvidia, чтобы ускорить моделирование.

Вердикт

На наш взгляд, облачное решение Google является наиболее рекомендуемым. Облачное решение Google обеспечивает более низкие цены на AWS как минимум на 30 % за решения для хранения данных и машинного обучения. Google делает отличную работу по демократизации ИИ. Компания разработала язык с открытым исходным кодом TensorFlow, оптимизированный информационное хранилище Connection предоставляет потрясающие инструменты — от визуализации и анализа данных до машинного обучения. Кроме того, консоль Google эргономична и гораздо более полна, чем AWS или Windows.