TensorFlow vs Theano vs Torch vs Keras: Deep Learning Library

Umělá inteligence od roku 2016 roste na popularitě a 20 % velkých společností používá ve svých podnicích umělou inteligenci (McKinsey zprávy, 2018). Podle stejné zprávy může umělá inteligence vytvářet podstatnou hodnotu napříč odvětvími. Například v bankovnictví se potenciál AI odhaduje na $300 miliard, v maloobchodě toto číslo raketově vzrostlo $600 miliard.

Aby společnosti odhalily potenciální hodnotu umělé inteligence, musí zvolit správný rámec hlubokého učení. V tomto tutoriálu se dozvíte o různých knihovnách, které jsou k dispozici pro provádění úkolů hlubokého učení. Některé knihovny existují už roky, zatímco nová knihovna jako TensorFlow se objevila v posledních letech.

8 nejlepších knihoven pro hluboké učení / rámce

V tomto seznamu porovnáme nejlepší rámce hlubokého učení. Všechny jsou open source a populární v komunitě datových vědců. Porovnáme také populární ML jako poskytovatele služeb

Pochodeň

Torch je stará open source knihovna pro strojové učení. Poprvé byl vydán před 15 lety. Primárním programovacím jazykem je LUA, ale má implementaci v C. Při srovnání PyTorch vs TensorFlow podporuje rozsáhlou knihovnu pro algoritmy strojového učení, včetně hlubokého učení. Podporuje implementaci CUDA pro paralelní výpočty.

Nástroj Torch deep learning používá většina předních laboratoří, jako je Facebook, Google, Twitter, Nvidia a tak dále. Torch má knihovnu Python jména Pytorch.

Infer.net

Infer.net je vyvíjen a udržován společností Microsoft. Infer.net je knihovna s primárním zaměřením na bayesovské statistiky. Infer.net je vizualizační nástroj pro Deep Learning navržený tak, aby nabídl praktikům nejmodernější algoritmy pro pravděpodobnostní modelování. Knihovna obsahuje analytické nástroje jako je Bayesovská analýza, skrytý Markovův řetězec, shlukování.

Keras

Keras je a Python rámec pro hluboké učení. Je to pohodlná knihovna pro konstrukci jakéhokoli algoritmu hlubokého učení. Výhodou Kerasu je, že používá totéž Python kód pro běh na CPU nebo GPU. Kromě toho je kódovací prostředí čisté a umožňuje trénovat nejmodernější algoritmy pro počítačové vidění, rozpoznávání textu mimo jiné.

Keras vyvinul François Chollet, výzkumník společnosti Google. Keras se používá v předních organizacích, jako je CERN, Yelp, Square nebo Google, Netflixa Uber.

Keras

Theano

Theano je knihovna pro hluboké učení vyvinutá Université de Montréal v roce 2007. Ve srovnání Theano vs TensorFlow nabízí rychlý výpočet a lze ji spustit na CPU i GPU. Theano byl vyvinut pro trénování algoritmů hlubokých neuronových sítí.

Microsoft Cognitive Toolkit (CNTK)

Microsoft toolkit, dříve známý jako CNTK, je knihovna pro hluboké učení vyvinutá společností Microsoft. Podle Microsoft, knihovna patří mezi nejrychlejší na trhu. Microsoft Toolkit je však knihovna s otevřeným zdrojovým kódem Microsoft ji široce používá pro svůj produkt, jako je Skype, Cortana, Bing a Xbox. Sada nástrojů je k dispozici jak v Python si C++.

MX Net

MXnet je nedávná knihovna pro hluboké učení. Je přístupný v několika programovacích jazycích včetně C++, Julia, Python a R. MXNet lze nakonfigurovat tak, aby fungovaly na CPU i GPU. MXNet zahrnuje nejmodernější architekturu hlubokého učení, jako je konvoluční neuronová síť a dlouhodobá krátkodobá paměť. MXNet je vytvořen tak, aby fungoval harmony s dynamickou cloudovou infrastrukturou. Hlavním uživatelem MXNet je Amazon

Caffe

Caffe je knihovna postavená Yangqing Jia, když byl doktorandem v Berkeley. Při srovnání Caffe vs TensorFlow je Caffe napsáno v C++ a může provádět výpočty na CPU i GPU. Primárním využitím Caffe je konvoluční neuronová síť. I když v roce 2017 Facebook rozšířil Caffe o další architekturu hlubokého učení, včetně Recurrent Neural Network. Caffe využívají akademici a startupy, ale také některé velké společnosti jako Yahoo!.

TensorFlow

TensorFlow je open source projekt Google. TensorFlow je dnes nejznámější knihovnou pro hluboké učení. Pro veřejnost byla vydána koncem roku 2015

TensorFlow

TensorFlow je vyvinut v C++ a má pohodlné Python API, i když C++ K dispozici jsou také API. Prominentní společnosti jako Airbus, Google, IBM a tak dále používají TensorFlow k vytváření algoritmů hlubokého učení.

TensorFlow vs Theano vs Torch vs Keras vs infer.net vs CNTK vs MXNet vs Caffe: Klíčové rozdíly

Knihovna Plošina Napsal (a) Podpora Cuda Paralelní provedení Má vycvičené modely RNN CNN
Pochodeň Linux, macOS, Windows Lua Ano Ano Ano Ano Ano
Infer.Net Linux, macOS, Windows Visual Studio Ne Ne Ne Ne Ne
Keras Linux, macOS, Windows Python Ano Ano Ano Ano Ano
Theano Křížová platforma Python Ano Ano Ano Ano Ano
TensorFlow Linux, macOS, Windows, Android C++, Python, CUDA Ano Ano Ano Ano Ano
SADA KOGNITIVNÍCH NÁSTROJŮ MICROSOFT Linux, Windows, Mac s Dockerem C++ Ano Ano Ano Ano Ano
Caffe Linux, macOS, Windows C++ Ano Ano Ano Ano Ano
MX Net Linux, Windows, macOS, Android, IOS, Javascript C++ Ano Ano Ano Ano Ano

Verdikt

TensorFlow je nejlepší knihovna ze všech, protože je vytvořena tak, aby byla přístupná všem. Knihovna Tensorflow obsahuje různá rozhraní API, která jsou postavena na architektuře hlubokého učení, jako je CNN nebo RNN. TensorFlow je založen na grafovém výpočtu, umožňuje vývojáři vizualizovat konstrukci neuronové sítě pomocí Tensorboad. Tento nástroj je užitečný pro ladění programu. A konečně, Tensorflow je navržen tak, aby mohl být nasazen ve velkém měřítku. Běží na CPU a GPU.

Tensorflow přitahuje největší popularitu na GitHubu ve srovnání s ostatními knihovnami pro hluboké učení.

Porovnání strojového učení jako služby

Následují 4 populární DL jako poskytovatelé služeb

Google Cloud ML

Google poskytuje pro vývojáře předem vyškolený model dostupný v Cloud AutoML. Toto řešení existuje pro vývojáře bez silného zázemí strojové učení. Vývojáři mohou na svá data používat nejmodernější model předem trénovaný společností Google. Umožňuje všem vývojářům trénovat a hodnotit jakýkoli model během několika minut.

Google v současné době poskytuje REST API pro počítačové vidění, rozpoznávání řeči, překlady a NLP.

Google Cloud ML

Použití Google Cloud, můžete trénovat framework strojového učení postavený na TensorFlow, Scikit-learn, XGBoost nebo Keras. Google Cloud strojové učení bude trénovat modely napříč svým cloudem.

Výhodou použití cloud computingu Google je jednoduchost nasazení strojového učení do produkce. Není potřeba nastavovat kontejner Docker. Kromě toho se cloud stará o infrastrukturu. Ví, jak alokovat zdroje s CPU, GPU a TPU. Díky paralelním výpočtům je trénink rychlejší.

AWS SageMaker

Hlavním konkurentem Google Cloud is Amazon mrak, AWS. Amazon vyvinul Amazon SageMaker umožňuje datovým vědcům a vývojářům vytvářet, školit a zavádět do výroby jakékoli modely strojového učení.
SageMaker je k dispozici v a Jupyter Notebook a obsahuje mimo jiné nejpoužívanější knihovnu strojového učení, TensorFlow, MXNet, Scikit-learn. Programy napsané pomocí SageMaker se automaticky spouštějí v kontejnerech Docker. Amazon zpracovává alokaci zdrojů pro optimalizaci školení a nasazení.

AWS SageMaker

Amazon poskytuje vývojářům API s cílem přidat inteligenci do jejich aplikací. V některých případech není potřeba znovu vynalézat kolo stavbou nových modelů od nuly, zatímco v cloudu existují výkonné předem vycvičené modely. Amazon poskytuje služby API pro počítačové vidění, konverzační chatboty a jazykové služby:

Tři hlavní dostupná rozhraní API jsou:

  • Amazon Rozpoznání: poskytuje aplikaci rozpoznávání obrázků a videa
  • Amazon Pochopit: Provádějte dolování textu a zpracování neuronového jazyka, abyste například automatizovali proces kontroly zákonnosti finančního dokumentu
  • Amazon Lex: Přidejte chatbota do aplikace

Azure Studio strojového učení

Pravděpodobně jeden z nejpřátelštějších přístupů ke strojovému učení je Azure Studio strojového učení. Významnou výhodou tohoto řešení je, že nejsou vyžadovány žádné předchozí znalosti programování.

Microsoft Azure Machine Learning Studio je nástroj pro spolupráci přetahováním, který umožňuje vytvářet, trénovat, vyhodnocovat a nasazovat řešení strojového učení. Model lze efektivně nasadit jako webové služby a použít v několika aplikacích, jako je Excel.

Azure Rozhraní strojového učení je interaktivní a umožňuje uživateli sestavit model pouhým rychlým přetažením prvků.

Azure Studio strojového učení

Když je model připraven, může jej vývojář uložit a odeslat Azure Galerie or Azure Trh.

Azure Strojové učení lze integrovat do R resp Python jejich vlastní vestavěný balíček.

IBM Watson ML

Watson studio může zjednodušit datové projekty pomocí efektivního procesu, který umožňuje extrahovat hodnotu a vhled z dat, což pomůže firmě být chytřejší a rychlejší. Watson studio poskytuje snadno použitelné prostředí pro kolaborativní datovou vědu a strojové učení pro vytváření a trénování modelů, přípravu a analýzu dat a sdílení informací na jednom místě. Watson Studio se snadno používá s kódem přetažením.

IBM Watson ML

Watson studio podporuje některé z nejpopulárnějších frameworků jako Tensorflow, Keras, Pytorch, Caffe a může nasadit algoritmus hlubokého učení na nejnovější GPU od Nvidie, aby pomohl urychlit modelování.

Verdikt

Z našeho pohledu je nejvíce doporučované cloudové řešení Google. Cloudové řešení Google poskytuje nižší ceny AWS minimálně o 30 % za úložiště dat a řešení strojového učení. Google odvádí skvělou práci při demokratizaci AI. Vyvinula optimalizovaný open source jazyk TensorFlow datový sklad připojení, poskytuje ohromné ​​nástroje od vizualizace dat, analýzy dat až po strojové učení. Kromě toho je Google Console ergonomická a mnohem komplexnější než AWS nebo Windows.