TensorFlow vs Theano vs Torch vs Keras: Deep Learning Library

Od roku 2016 se umělá inteligence těší stále větší oblibě, přičemž 20% velkých společností využívá AI ve svých podnicích (McKinsey zpráva , 2018). Podle stejné zprávy může AI vytvářet značnou hodnotu napříč odvětvími. Například v bankovnictví se potenciál AI odhaduje na $ 300 miliard, v maloobchodě tento počet raketově vzrostl $ 600 miliard.

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

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

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

Pochodeň

Torch je stará open source knihovna strojového učení. Poprvé vyšlo před 15 lety. Primárním programovacím jazykem je LUA, ale má implementaci v jazyce C. Porovnáním mezi PyTorch a TensorFlow podporuje rozsáhlou knihovnu pro algoritmy strojového učení, včetně hloubkového učení. Podporuje implementaci CUDA pro paralelní výpočet.

Nástroj pro hluboké učení pochodně používá většina předních laboratoří, jako jsou Facebook, Google, Twitter, Nvidia atd. Torch má knihovnu v Pythonu s názvy Pytorch.

Infer.net

Infer.net je vyvíjen a spravován společností Microsoft. Infer.net je knihovna, která se primárně zaměřuje na bayesovskou statistiku. Infer.net je vizualizační nástroj pro hluboké učení, který má odborníkům nabídnout nejmodernější algoritmy pro pravděpodobnostní modelování. Knihovna obsahuje analytické nástroje jako Bayesova analýza, skrytý Markovův řetězec, shlukování.

Tvrdý

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

Keras vyvinul François Chollet, výzkumný pracovník společnosti Google. Keras se používá v prominentních organizacích jako CERN, Yelp, Square nebo Google, Netflix a Uber.

Theano

Theano je knihovna pro hluboké učení vyvinutá Université de Montréal v roce 2007. Porovnáním Theano a TensorFlow nabízí rychlý výpočet a lze jej spustit na CPU i GPU. Theano bylo vyvinuto pro trénování algoritmů hluboké neuronové sítě.

Microsoft Cognitive Toolkit (CNTK)

Sada nástrojů Microsoft, dříve známá jako CNTK, je knihovna pro hluboké učení vyvinutá společností Microsoft. Podle Microsoftu patří knihovna mezi nejrychlejší na trhu. Microsoft toolkit je open-source knihovna, přestože ji Microsoft hojně používá pro své produkty jako Skype, Cortana, Bing a Xbox. Sada nástrojů je k dispozici jak v Pythonu, tak v C ++.

MXNet

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

Káva

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

TensorFlow

TensorFlow je open source projekt Google. TensorFlow je v dnešní době nejslavnější knihovnou hlubokého učení. To bylo propuštěno pro veřejnost na konci roku 2015

TensorFlow je vyvinut v C ++ a má praktické Python API, i když jsou k dispozici také API C ++. Prominentní společnosti jako Airbus, Google, IBM atd. Používají TensorFlow k produkci 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

KnihovnaPlošinaNapsánoPodpora CudaParalelní prováděníMá vyškolené modelyRNNCNN
Pochodeň Linux, MacOS, WindowsvzítAnoAnoAnoAnoAno
Infer.Net Linux, MacOS, WindowsVizuální studioNeNeNeNeNe
Tvrdý Linux, MacOS, WindowsKrajtaAnoAnoAnoAnoAno
Theano Cross-platformKrajtaAnoAnoAnoAnoAno
TensorFlow Linux, MacOS, Windows, AndroidC ++, Python, CUDAAnoAnoAnoAnoAno
MICROSOFT COGNITIVE TOOLKIT Linux, Windows, Mac s DockeremC ++AnoAnoAnoAnoAno
Káva Linux, MacOS, WindowsC ++AnoAnoAnoAnoAno
MXNet Linux, Windows, MacOs, Android, iOS, JavascriptC ++AnoAnoAnoAnoAno

Výrok:

TensorFlow je nejlepší knihovna ze všech, protože je vytvořena tak, aby byla přístupná všem. Knihovna Tensorflow obsahuje různá API k vybudování rozsáhlé architektury hlubokého učení, jako je CNN nebo RNN. TensorFlow je založen na výpočtu grafů, umožňuje vývojáři vizualizovat konstrukci neuronové sítě pomocí Tensorboad. Tento nástroj je užitečný při ladění programu. Nakonec je Tensorflow vytvořen tak, aby byl nasazen ve velkém. Běží na CPU a GPU.

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

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

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

Google Cloud ML

Google poskytuje model předem připravený pro vývojáře, který je k dispozici v Cloud AutoML. Toto řešení existuje pro vývojáře bez silného zázemí ve strojovém učení. Vývojáři mohou ve svých datech používat nejmodernější předem natrénovaný model 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řeklad a NLP.

Pomocí Google Cloud můžete trénovat rámec strojového učení postavený na TensorFlow, Scikit-learn, XGBoost nebo Keras. Strojové učení Google Cloud procvičí modely napříč cloudem.

Výhodou používání cloudových počítačů Google je jednoduchost nasazení strojového učení do produkce. Docker kontejner není nutné nastavovat. Kromě toho se cloud stará o infrastrukturu. Ví, jak alokovat prostředky s CPU, GPU a TPU. Díky paralelnímu výpočtu je trénink rychlejší.

AWS SageMaker

Hlavním konkurentem Google Cloud je Amazon cloud, AWS. Amazon vyvinul Amazon SageMaker, aby vědci a vývojáři dat mohli vytvářet, školit a uvádět do výroby jakékoli modely strojového učení.

SageMaker je k dispozici v notebooku Jupyter a obsahuje mimo jiné nejpoužívanější knihovnu strojového učení, TensorFlow, MXNet, Scikit-learn. Programy napsané pomocí SageMaker se automaticky spouští v kontejnerech Dockeru. Amazon zpracovává přidělování zdrojů za účelem optimalizace školení a nasazení.

Amazon poskytuje API vývojářům za účelem přidání inteligence do jejich aplikací. V některých případech není třeba znovu objevovat kolo stavěním 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á API jsou:

  • Amazon Rekognition: poskytuje aplikaci rozpoznávání obrázků a videa
  • Amazon Comprehend: Provádějte dolování textu a zpracování neurálních jazyků, například zautomatizujte proces kontroly zákonnosti finančního dokumentu
  • Amazon Lex: Přidejte chatbota do aplikace

Azure Machine Learning Studio

Pravděpodobně jedním z nejpřátelštějších přístupů ke strojovému učení je Azure Machine Learning Studio. 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 kolaborativní nástroj pro vytváření, školení, vyhodnocování a nasazování řešení strojového učení. Tento model lze efektivně nasadit jako webové služby a použít v několika aplikacích, jako je Excel.

Rozhraní Azure Machine Learning je interaktivní, což umožňuje uživateli vytvořit model pouhým přetažením prvků.

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

Azure Machine Learning lze integrovat do R nebo Pythonu, jejich vlastního integrovaného balíčku.

IBM Watson ML

Watson studio může zjednodušit datové projekty efektivním procesem, který umožňuje extrahovat z dat hodnoty a poznatky a pomoci tak firmě být chytřejší a rychlejší. Watson studio poskytuje snadno použitelné prostředí pro spolupráci v oblasti datové vědy a strojového učení pro vytváření a školení modelů, přípravu a analýzu dat a sdílení přehledů na jednom místě. Watson Studio se snadno používá pomocí kódu drag-and-drop.

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

Výrok:

Z našeho pohledu je nejvíce doporučováno cloudové řešení Google. Cloudové řešení Google poskytuje nižší ceny AWS alespoň o 30% za řešení pro ukládání dat a strojové učení. Google odvádí vynikající práci v oblasti demokratizace AI. Vyvinul optimalizovaný otevřený zdrojový jazyk TensorFlow datový sklad připojení, poskytuje ohromné ​​nástroje od vizualizace dat, analýzy dat až po strojové učení. Kromě toho je konzola Google ergonomická a mnohem komplexnější než AWS nebo Windows.