TensorFlow против Theano против Torch против Keras: библиотека глубокого обучения
Популярность искусственного интеллекта растет с 2016 года: 20% крупных компаний используют ИИ в своем бизнесе (McKinsey докладе, 2018). Согласно тому же отчету, ИИ может создавать значительную ценность во всех отраслях. Например, в банковской сфере потенциал ИИ оценивается в $300 миллиардов, в розничной торговле это число резко возросло до $600 миллиарда долларов.
Чтобы раскрыть потенциальную ценность ИИ, компании должны выбрать правильную структуру глубокого обучения. В этом руководстве вы узнаете о различных библиотеках, доступных для выполнения задач глубокого обучения. Некоторые библиотеки существуют уже много лет, а в последние годы появилась новая библиотека, такая как TensorFlow.
8 лучших библиотек/фреймворков для глубокого обучения
В этом списке мы сравним лучшие платформы глубокого обучения. Все они имеют открытый исходный код и популярны в сообществе специалистов по данным. Мы также сравним популярные ML в качестве поставщиков услуг.
факел
Torch — старая библиотека машинного обучения с открытым исходным кодом. Впервые он был выпущен 15 лет назад. Основным языком программирования является LUA, но он имеет реализацию на C. Сравнивая PyTorch и TensorFlow, он поддерживает обширную библиотеку алгоритмов машинного обучения, включая глубокое обучение. Он поддерживает реализацию CUDA для параллельных вычислений.
Инструмент глубокого обучения Torch используется большинством ведущих лабораторий, таких как Facebook, Google, Twitter, Nvidia и так далее. У Факела есть библиотека в Python зовут Питорч.
Инфер.нет
Infer.net разрабатывается и поддерживается Microsoft. Infer.net — это библиотека, основное внимание которой уделяется байесовской статистике. Infer.net — это инструмент визуализации для глубокого обучения, предназначенный для того, чтобы предложить практикующим специалистам самые современные алгоритмы вероятностного моделирования. Библиотека содержит аналитические инструменты такие как байесовский анализ, скрытая цепь Маркова, кластеризация.
Keras
Керас - это Python рамки для глубокого обучения. Это удобная библиотека для построения любого алгоритма глубокого обучения. Преимущество Keras в том, что он использует тот же Python код для запуска на процессоре или графическом процессоре. Кроме того, среда кодирования является чистой и позволяет обучать современным алгоритмам компьютерного зрения, распознавания текста, среди прочего.
Keras был разработан Франсуа Шолле, исследователем Google. Keras используется в таких известных организациях, как CERN, Yelp, Square или Google. Netflix, и Uber.
Theano
Theano — это библиотека глубокого обучения, разработанная Университетом Монреаля в 2007 году. По сравнению с Theano и TensorFlow, она предлагает быстрые вычисления и может работать как на процессоре, так и на графическом процессоре. Theano был разработан для обучения алгоритмов глубоких нейронных сетей.
Microsoft Когнитивный инструментарий (CNTK)
Microsoft набор инструментов, ранее известный как CNTK, представляет собой библиотеку глубокого обучения, разработанную Microsoft. В соответствии с Microsoft, библиотека является одной из самых быстрых на рынке. Microsoft Toolkit — это библиотека с открытым исходным кодом, хотя Microsoft широко использует его для своих продуктов, таких как Skype, Cortana, Bing и Xbox. Набор инструментов доступен как в Python и C++.
MXNet
MXnet — это новейшая библиотека глубокого обучения. Он доступен на нескольких языках программирования, включая C++, Юля, Python и R. MXNet можно настроить для работы как на CPU, так и на GPU. MXNet включает в себя современную архитектуру глубокого обучения, такую как сверточная нейронная сеть и долговременная кратковременная память. MXNet создан для работы в harmony с динамической облачной инфраструктурой. Основным пользователем MXNet является Amazon
Кафе
Caffe — это библиотека, построенная Янцин Цзя, когда он был аспирантом в Беркли. Сравнивая Caffe и TensorFlow, Caffe написан на C++ и может выполнять вычисления как на CPU, так и на GPU. Основное применение Caffe — сверточная нейронная сеть. Хотя в 2017 году Facebook расширил Caffe более глубокой архитектурой обучения, включая рекуррентную нейронную сеть. Caffe используют ученые и стартапы, а также некоторые крупные компании, такие как Yahoo!.
TensorFlow
TensorFlow — проект Google с открытым исходным кодом. TensorFlow — самая известная библиотека глубокого обучения на сегодняшний день. Он был представлен публике в конце 2015 года.
TensorFlow разработан в C++ и имеет удобный Python API, хотя C++ API также доступны. Известные компании, такие как Airbus, Google, IBM и т. д. используют TensorFlow для создания алгоритмов глубокого обучения.
TensorFlow против Theano против Torch против Keras против infer.net против CNTK против MXNet против Caffe: ключевые различия
Библиотека | Платформа | Написано в | Cuda поддержка | Параллельное выполнение | Имеет обученные модели | РНН | CNN |
---|---|---|---|---|---|---|---|
факел | Linux, macOS, Windows | Lua | Да | Да | Да | Да | Да |
Инфер.Нет | Linux, macOS, Windows | Visual Studio | Нет | Нет | Нет | Нет | Нет |
Keras | Linux, macOS, Windows | Python | Да | Да | Да | Да | Да |
Theano | Кросс-платформенная | Python | Да | Да | Да | Да | Да |
TensorFlow | Linux, macOS, Windows, Android | C++, Python, КУДА | Да | Да | Да | Да | Да |
НАБОР КОГНИТИВНЫХ ИНСТРУМЕНТОВ МАЙКРОСОФТ | Linux, Windows, Mac с Docker | C++ | Да | Да | Да | Да | Да |
Кафе | Linux, macOS, Windows | C++ | Да | Да | Да | Да | Да |
MXNet | Linux, Windows, macOS, AndroidIOS, Javascript | C++ | Да | Да | Да | Да | Да |
Вердикт
TensorFlow — лучшая библиотека из всех, потому что она создана так, чтобы быть доступной каждому. Библиотека Tensorflow включает в себя различные API для построения масштабной архитектуры глубокого обучения, такой как CNN или RNN. TensorFlow основан на вычислении графов и позволяет разработчику визуализировать построение нейронной сети с помощью Тензорбоад. Этот инструмент полезен для отладки программы. Наконец, Tensorflow создан для масштабного развертывания. Он работает на процессоре и графическом процессоре.
Tensorflow пользуется наибольшей популярностью на GitHub по сравнению с другими библиотеками глубокого обучения.
Сравнение машинного обучения как услуги
Ниже приведены 4 популярных поставщика услуг DL.
Google Cloud ML
Google предоставляет разработчикам предварительно обученную модель, доступную в Cloud AutoML. Это решение существует для разработчика без большого опыта в обучение с помощью машины. Разработчики могут использовать современную предварительно обученную модель Google для своих данных. Это позволяет любому разработчику обучить и оценить любую модель всего за несколько минут.
В настоящее время Google предоставляет REST API для компьютерного зрения, распознавания речи, перевода и НЛП.
. Google Cloudвы можете обучить платформу машинного обучения, построенную на TensorFlow, Scikit-learn, XGBoost или Keras. Google Cloud машинное обучение будет обучать модели в облаке.
Преимущество использования облачных вычислений Google заключается в простоте внедрения машинного обучения в производство. Нет необходимости настраивать Docker-контейнер. Кроме того, облако заботится об инфраструктуре. Он знает, как распределять ресурсы между процессорами, графическими процессорами и TPU. Это ускоряет обучение за счет параллельных вычислений.
AWS SageMaker
Главный конкурент для Google Cloud is Amazon облако, AWS. Amazon разработал Amazon SageMaker позволяет ученым и разработчикам данных создавать, обучать и внедрять в производство любые модели машинного обучения.
SageMaker доступен в Jupyter Notebook и включает в себя наиболее часто используемые библиотеки машинного обучения, TensorFlow, MXNet, Scikit-learn и другие. Программы, написанные с помощью SageMaker, автоматически запускаются в контейнерах Docker. Amazon управляет распределением ресурсов для оптимизации обучения и развертывания.
Amazon предоставляет API разработчикам, чтобы сделать их приложения более интеллектуальными. В некоторых случаях нет необходимости изобретать велосипед и создавать новые модели с нуля, поскольку в облаке есть мощные предварительно обученные модели. Amazon предоставляет API-сервисы для компьютерного зрения, разговорных чат-ботов и языковых сервисов:
Три основных доступных API:
- Amazon Признание: обеспечивает распознавание изображений и видео в приложении
- Amazon Постигать: Выполняйте интеллектуальный анализ текста и обработку нейронного языка, например, чтобы автоматизировать процесс проверки законности финансового документа.
- Amazon Лекс: Добавьте чат-бота в приложение
Azure Студия машинного обучения
Вероятно, один из самых дружественных подходов к машинному обучению — это Azure Студия машинного обучения. Существенным преимуществом этого решения является то, что не требуется никаких предварительных знаний в области программирования.
Microsoft Azure Machine Learning Studio — это инструмент совместной работы с перетаскиванием для создания, обучения, оценки и развертывания решения машинного обучения. Модель может быть эффективно развернута как веб-сервисы и использована в нескольких приложениях, таких как Excel.
Azure Интерфейс машинного обучения является интерактивным и позволяет пользователю строить модель, просто быстро перетаскивая элементы.
Когда модель готова, разработчик может сохранить ее и отправить в Azure Фото or Azure Торговая площадка.
Azure Машинное обучение можно интегрировать в R или Python их собственный встроенный пакет.
IBM Watson ML
Watson Studio может упростить проекты обработки данных с помощью оптимизированного процесса, который позволяет извлекать из данных ценную информацию и ценную информацию, помогая бизнесу становиться умнее и быстрее. Watson Studio предоставляет простую в использовании среду для совместной обработки данных и машинного обучения для создания и обучения моделей, подготовки и анализа данных, а также обмена информацией — все в одном месте. Watson Studio проста в использовании благодаря перетаскиванию кода.
Студия Watson поддерживает некоторые из самых популярных платформ, таких как Tensorflow, Keras, Pytorch, Caffe, и может развернуть алгоритм глубокого обучения на новейших графических процессорах Nvidia, чтобы ускорить моделирование.
Вердикт
На наш взгляд, облачное решение Google является наиболее рекомендуемым. Облачное решение Google обеспечивает более низкие цены на AWS как минимум на 30 % за решения для хранения данных и машинного обучения. Google делает отличную работу по демократизации ИИ. Компания разработала язык с открытым исходным кодом TensorFlow, оптимизированный информационное хранилище Connection предоставляет потрясающие инструменты — от визуализации и анализа данных до машинного обучения. Кроме того, консоль Google эргономична и гораздо более полна, чем AWS или Windows.