TensorFlow срещу Theano срещу Torch срещу Keras: Библиотека за дълбоко обучение

Изкуственият интелект нараства популярността си от 2016 г. насам, като 20% от големите компании използват AI в бизнеса си (McKinsey докладва, 2018). Според същия доклад AI може да създаде значителна стойност в различните индустрии. В банкирането, например, потенциалът на ИИ се оценява на $300 милиарда, в търговията на дребно числото скача до небето $600 милиарда.

За да отключат потенциалната стойност на AI, компаниите трябва да изберат правилната рамка за дълбоко обучение. В този урок ще научите за различните налични библиотеки за изпълнение на задачи за задълбочено обучение. Някои библиотеки съществуват от години, докато през последните години се появи нова библиотека като TensorFlow.

8 най-добри библиотеки/рамка за задълбочено обучение

В този списък ще сравним най-добрите рамки за задълбочено обучение. Всички те са с отворен код и са популярни в общността на специалистите по данни. Също така ще сравним популярния ML като доставчици на услуги

Факел

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

Инструментът за дълбоко обучение Torch се използва от повечето водещи лаборатории като Facebook, Google, Twitter, Nvidia и т.н. Torch има библиотека в Python имена Pytorch.

Infer.net

Infer.net е разработен и поддържан от Microsoft. Infer.net е библиотека с основен фокус върху байесовата статистика. Infer.net е инструмент за визуализация за Deep Learning, предназначен да предложи на практикуващите най-съвременни алгоритми за вероятностно моделиране. Библиотеката съдържа аналитични инструменти като байесов анализ, скрита верига на Марков, групиране.

Keras

Керас е а Python рамка за дълбоко обучение. Това е удобна библиотека за конструиране на всеки алгоритъм за дълбоко обучение. Предимството на Keras е, че използва същото Python код за изпълнение на CPU или GPU. Освен това средата за кодиране е чиста и позволява обучение на най-съвременен алгоритъм за компютърно зрение, разпознаване на текст, между другото.

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

Keras

Теано

Theano е библиотека за дълбоко обучение, разработена от Université de Montréal през 2007 г. Сравнявайки Theano с TensorFlow, тя предлага бързо изчисление и може да се изпълнява както на CPU, така и на GPU. Theano е разработен за обучение на дълбоки алгоритми на невронни мрежи.

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

Microsoft инструментариум, известен преди като CNTK, е библиотека за дълбоко обучение, разработена от Microsoft, Според Microsoft, библиотеката е сред най-бързите на пазара. Microsoft toolkit е библиотека с отворен код, въпреки че Microsoft го използва широко за своя продукт като Skype, Cortana, Bing и Xbox. Инструментариумът се предлага както в Python намлява C++.

MX Net

MXnet е скорошна библиотека за дълбоко обучение. Той е достъпен с множество езици за програмиране, включително C++, Джулия, Python и R. MXNet може да бъде конфигуриран да работи както на CPU, така и на GPU. MXNet включва най-съвременна архитектура за дълбоко обучение като конволюционна невронна мрежа и дългосрочна памет. MXNet е създаден за работа harmony с динамична облачна инфраструктура. Основният потребител на MXNet е Amazon

Caffe

Caffe е библиотека, построена от Yangqing Jia, когато той е бил докторант в Бъркли. Сравнявайки Caffe срещу TensorFlow, Caffe е написано в C++ и може да извършва изчисления както на CPU, така и на GPU. Основната употреба на Caffe е конволюционната невронна мрежа. Въпреки това през 2017 г. Facebook разшири Caffe с по-задълбочена архитектура за обучение, включително повтаряща се невронна мрежа. Caffe се използва от академици и стартиращи компании, но също и от някои големи компании като Yahoo!.

TensorFlow

TensorFlow е проект на Google с отворен код. TensorFlow е най-известната библиотека за дълбоко обучение в наши дни. Пуснат е на обществеността в края на 2015 г

TensorFlow

TensorFlow е разработен в C++ и има удобни Python API обаче C++ Налични са и API. Известни компании като Airbus, Google, IBM и така нататък използват TensorFlow за създаване на алгоритми за дълбоко обучение.

TensorFlow срещу Theano срещу Torch срещу Keras срещу infer.net срещу CNTK срещу MXNet срещу Caffe: Ключови разлики

Библиотека платформа Написано в Поддръжка на Cuda Паралелно изпълнение Има обучени модели RNN CNN
Факел Linux, macOS, Windows Lua Да Да Да Да Да
Infer.Net Linux, macOS, Windows Visual Studio Не Не Не Не Не
Keras Linux, macOS, Windows Python Да Да Да Да Да
Теано Cross-платформа Python Да Да Да Да Да
TensorFlow Linux, macOS, Windows, Android C++, Python, CUDA Да Да Да Да Да
МАЙКРОСОФТ КОГНИТИВЕН ИНСТРУМЕНТАРИЙ Linux, Windows, Mac с Docker C++ Да Да Да Да Да
Caffe Linux, macOS, Windows C++ Да Да Да Да Да
MX Net Linux, Windows, macOS, Android, IOS, Javascript C++ Да Да Да Да Да

Присъда

TensorFlow е най-добрата библиотека от всички, защото е създадена да бъде достъпна за всички. Библиотеката Tensorflow включва различни API за изградена в мащаб архитектура за дълбоко обучение като CNN или RNN. TensorFlow се основава на изчисляване на графики, позволява на разработчика да визуализира конструкцията на невронната мрежа с Tensorboad. Този инструмент е полезен за отстраняване на грешки в програмата. И накрая, Tensorflow е създаден, за да бъде разгърнат в мащаб. Работи на CPU и GPU.

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

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

Следват 4 популярни DL като доставчици на услуги

Google Cloud ML

Google предоставя за разработчиците предварително обучен модел, наличен в Cloud AutoML. Това решение съществува за програмист без силен опит в машинно обучение. Разработчиците могат да използват най-съвременния предварително обучен модел на Google върху своите данни. Тя позволява на всички разработчици да обучат и оценят всеки модел само за няколко минути.

В момента Google предоставя REST API за компютърно зрение, разпознаване на реч, превод и NLP.

Google Cloud ML

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

Предимството при използването на Google Cloud Computing е лесното внедряване на машинно обучение в производство. Няма нужда да настройвате Docker контейнер. Освен това облакът се грижи за инфраструктурата. Той знае как да разпределя ресурси с CPU, GPU и TPU. Прави обучението по-бързо с паралелно изчисление.

AWS SageMaker

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

AWS SageMaker

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

Трите основни налични API са:

  • Amazon Разпознаване: осигурява разпознаване на изображения и видео на приложение
  • Amazon разбирам: Извършвайте копаене на текст и обработка на невронен език, за да автоматизирате например процеса на проверка на законността на финансов документ
  • Amazon Лекс: Добавяне на чатбот към приложение

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

Вероятно един от най-приятелските подходи към машинното обучение е Azure Студио за машинно обучение. Значителното предимство на това решение е, че не са необходими предварителни познания по програмиране.

Microsoft Azure Machine Learning Studio е инструмент за съвместна работа с плъзгане и пускане за създаване, обучение, оценка и внедряване на решение за машинно обучение. Моделът може да бъде ефективно внедрен като уеб услуги и използван в няколко приложения като Excel.

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

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

Когато моделът е готов, разработчикът може да го запази и да го изпрати към Azure Галерия or Azure Marketplace.

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

IBM Watson ML

Watson studio може да опрости проектите за данни с рационализиран процес, който позволява извличане на стойност и прозрения от данните, за да помогне на бизнеса да стане по-умен и по-бърз. Watson studio предоставя лесна за използване среда за съвместна наука за данни и машинно обучение за изграждане и модели за обучение, подготовка и анализ на данни и споделяне на прозрения, всичко това на едно място. Watson Studio е лесен за използване с код за плъзгане и пускане.

IBM Watson ML

Watson studio поддържа някои от най-популярните рамки като Tensorflow, Keras, Pytorch, Caffe и може да внедри алгоритъм за задълбочено обучение на най-новите GPU от Nvidia, за да помогне за ускоряване на моделирането.

Присъда

От наша гледна точка облачното решение на Google е най-препоръчителното. Облачното решение на Google предоставя по-ниски цени на AWS с поне 30% за решение за съхранение на данни и машинно обучение. Google върши отлична работа за демократизиране на AI. Той е разработил език с отворен код, TensorFlow, оптимизиран склад за данни връзка, предоставя огромни инструменти от визуализация на данни, анализ на данни до машинно обучение. Освен това Google Console е ергономична и много по-всеобхватна от AWS или Windows.