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

Зміст:

Anonim

Популярність штучного інтелекту зростає з 2016 року, коли 20% великих компаній використовують ШІ у своєму бізнесі (звіт Мак-Кінсі, 2018). Відповідно до того ж звіту, ШІ може створити значну цінність для різних галузей. У банківському справі , наприклад, потенціал ІІ оцінюються в $ 300 млрд в роздрібному числі посилиться до $ 600 мільярдів доларів.

Щоб розкрити потенційну цінність ШІ, компанії повинні вибрати правильну систему глибокого навчання. У цьому підручнику ви дізнаєтесь про різні бібліотеки, доступні для виконання завдань глибокого навчання. Деякі бібліотеки існують роками, тоді як нова бібліотека, як TensorFlow, з’явилася в останні роки.

8 найкращих бібліотек для глибокого навчання / Основи

У цьому списку ми порівняємо найкращі основи глибокого навчання. Усі вони є відкритими та популярними у спільноті дослідників даних. Ми також порівняємо популярний ML як постачальника послуг

Факел

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

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

Infer.net

Infer.net розробляється та підтримується корпорацією Майкрософт. Infer.net - це бібліотека, в якій основна увага приділяється статистиці Байєса. Infer.net - це інструмент візуалізації для глибокого навчання, розроблений для того, щоб запропонувати практикам найсучасніші алгоритми для імовірнісного моделювання. Бібліотека містить аналітичні інструменти, такі як байєсівський аналіз, прихований ланцюжок Маркова, кластеризація.

Керас

Keras - це фреймворк Python для глибокого навчання. Це зручна бібліотека для побудови будь-якого алгоритму глибокого навчання. Перевага Keras полягає в тому, що він використовує той самий код Python для роботи на процесорі або графічному процесорі. Крім того, середовище кодування є чистим і дозволяє навчати найсучасніший алгоритм для комп'ютерного зору, серед іншого розпізнавання тексту.

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

Теано

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

Microsoft Cognitive Toolkit (CNTK)

Набір інструментів Microsoft, раніше відомий як CNTK, - це бібліотека глибокого навчання, розроблена корпорацією Майкрософт. За даними Microsoft, бібліотека є однією з найшвидших на ринку. Набір інструментів Microsoft - це бібліотека з відкритим кодом, хоча Microsoft широко використовує його для своїх продуктів, таких як Skype, Cortana, Bing та Xbox. Набір інструментів доступний як на Python, так і на C ++.

MXNet

MXnet - це недавня бібліотека глибокого навчання. Він доступний на декількох мовах програмування, включаючи C ++, Julia, Python та R. MXNet можна налаштувати на роботу як на процесорі, так і на графічному процесорі. MXNet включає в себе найсучаснішу архітектуру глибокого навчання, таку як згорткова нейронна мережа та довга короткочасна пам'ять. MXNet створений для роботи в гармонії з динамічною хмарною інфраструктурою. Основним користувачем MXNet є Amazon

Кава

Caffe - це бібліотека, побудована Янцин Цзя, коли він був докторантом в Берклі. Порівнюючи Caffe та TensorFlow, Caffe написаний на C ++ і може виконувати обчислення як на процесорі, так і на графічному процесорі. Основним використанням Caffe є згорткова нейронна мережа. Хоча в 2017 році Facebook розширив Caffe завдяки більш глибокій архітектурі навчання, включаючи періодичну нейронну мережу. Caffe використовують науковці та стартапи, а також деякі великі компанії, такі як Yahoo !.

TensorFlow

TensorFlow - це проект Google з відкритим кодом. TensorFlow - найвідоміша бібліотека глибокого навчання в наші дні. Він був випущений для публіки в кінці 2015 року

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

TensorFlow проти Theano проти Torch проти Keras проти infer.net.net проти CNTK проти MXNet проти Caffe: ключові відмінності

Бібліотека Платформа Написано в Підтримка Cuda Паралельне виконання Має навчених моделей RNN CNN
Факел Linux, MacOS, Windows Луа Так Так Так Так Так
Infer.Net Linux, MacOS, Windows Visual Studio Ні Ні Ні Ні Ні
Керас Linux, MacOS, Windows Python Так Так Так Так Так
Теано Крос-платформа Python Так Так Так Так Так
TensorFlow Linux, MacOS, Windows, Android C ++, Python, CUDA Так Так Так Так Так
МІКРОСОФТ ПІЗНІТНИЙ ІНСТРУМЕНТ Linux, Windows, Mac з Docker C ++ Так Так Так Так Так
Кава Linux, MacOS, Windows C ++ Так Так Так Так Так
MXNet Linux, Windows, MacO, Android, iOS, Javascript C ++ Так Так Так Так Так

Вирок:

TensorFlow - найкраща бібліотека з усіх, оскільки вона створена для того, щоб бути доступною для всіх. Бібліотека Tensorflow включає різні API для побудови масштабних архітектур глибокого навчання, таких як CNN або RNN. TensorFlow заснований на обчисленні графіків, це дозволяє розробнику візуалізувати побудову нейронної мережі за допомогою Tensorboad. Цей інструмент корисний для налагодження програми. Нарешті, Tensorflow побудований для розгортання в масштабі. Він працює на процесорі та графічному процесорі.

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

Порівняння машинного навчання як послуги

Нижче наведено 4 популярних DL як постачальників послуг

Google Cloud ML

Google пропонує попередньо навчену розробником модель, доступну в Cloud AutoML. Це рішення існує для розробника без сильного досвіду машинного навчання. Розробники можуть використовувати на своїх даних найсучаснішу попередньо навчену модель Google. Це дозволяє будь-яким розробникам навчитись та оцінити будь-яку модель всього за кілька хвилин.

На даний момент Google пропонує REST API для комп’ютерного зору, розпізнавання мови, перекладу та NLP.

За допомогою Google Cloud ви можете навчити фреймворк машинного навчання, побудований на TensorFlow, Scikit-learn, XGBoost або Keras. Машинне навчання Google Cloud навчатиме моделей у хмарі.

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

AWS SageMaker

Основним конкурентом Google Cloud є хмара Amazon, AWS. Amazon розробила Amazon SageMaker, щоб дозволити вченим та розробникам даних створювати, навчати та впроваджувати будь-які моделі машинного навчання.

SageMaker доступний у блокноті Jupyter і включає в себе найбільш використовувану бібліотеку машинного навчання, TensorFlow, MXNet, Scikit-learn серед інших. Програми, написані за допомогою SageMaker, автоматично запускаються в контейнерах Docker. Amazon здійснює розподіл ресурсів для оптимізації навчання та розгортання.

Amazon надає API розробникам, щоб додати інтелект до своїх додатків. Іноді немає необхідності винаходити колеса, створюючи з нуля нові моделі, хоча в хмарі є потужні попередньо навчені моделі. Amazon надає послуги API для комп'ютерного зору, розмовних чат-ботів та мовних послуг:

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

  • Amazon Rekogmination: надає програмі розпізнавання зображень та відео
  • Amazon Comprehend: Виконайте аналіз тексту та обробку нейронної мови, щоб, наприклад, автоматизувати процес перевірки законності фінансового документа
  • Amazon Lex: додайте чат-бот до програми

Студія машинного навчання Azure

Ймовірно, одним із найдружніших підходів до машинного навчання є студія машинного навчання Azure. Суттєвою перевагою цього рішення є те, що попередні знання програмування не потрібні.

Студія машинного навчання Microsoft Azure - це інструмент спільного перетягування для створення, навчання, оцінки та розгортання рішення машинного навчання. Модель може бути ефективно розгорнута як веб-сервіси та використана в декількох додатках, таких як Excel.

Інтерфейс машинного навчання Azure є інтерактивним, що дозволяє користувачеві створювати модель, просто швидко перетягуючи елементи.

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

Машинне навчання Azure може бути інтегровано в R або Python їх власний вбудований пакет.

IBM Watson ML

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

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

Вирок:

На наш погляд, хмарне рішення Google є тим, яке є найбільш рекомендованим. Хмарне рішення Google забезпечує нижчі ціни AWS щонайменше на 30% на рішення для зберігання даних та машинного навчання. Google робить чудову роботу з демократизації ШІ. Він розробив мову з відкритим кодом, TensorFlow, оптимізоване підключення до сховища даних, забезпечує величезні інструменти від візуалізації даних, аналізу даних до машинного навчання. Крім того, Google Console є ергономічною та набагато більш повною, ніж AWS або Windows.