TensorFlow versus Theano versus Torch versus Keras: Deep Learning Library

Kunstmatige intelligentie (AI) wint sinds 2016 aan populariteit, waarbij 20% van de grote bedrijven AI in hun bedrijf gebruikt (McKinsey verslag, 2018). Volgens hetzelfde rapport kan AI aanzienlijke waarde creëren in verschillende sectoren. In het bankwezen wordt bijvoorbeeld het potentieel van AI geschat op $300 miljard, in de detailhandel schiet het aantal omhoog naar $600 miljard.

Om de potentiële waarde van AI te ontsluiten, moeten bedrijven het juiste deep learning-framework kiezen. In deze tutorial leert u over de verschillende bibliotheken die beschikbaar zijn voor het uitvoeren van deep learning-taken. Sommige bibliotheken bestaan ​​al jaren, terwijl er de afgelopen jaren nieuwe bibliotheken zoals TensorFlow aan het licht zijn gekomen.

8 beste diepgaande leerbibliotheken / raamwerk

In deze lijst vergelijken we de beste Deep Learning-frameworks. Ze zijn allemaal open source en populair in de datawetenschappersgemeenschap. We vergelijken ook populaire ML as a service-providers

Fakkel

Torch is een oude open source machine learning bibliotheek. Het werd voor het eerst uitgebracht 15 jaar geleden. De primaire programmeertaal is LUA, maar heeft een implementatie in C. Vergelijk PyTorch met TensorFlow, het ondersteunt een enorme bibliotheek voor machine learning algoritmen, inclusief deep learning. Het ondersteunt CUDA implementatie voor parallelle berekeningen.

De deep learning-tool van Torch wordt gebruikt door de meeste toonaangevende laboratoria zoals Facebook, Google, Twitter, Nvidia, enzovoort. Torch heeft een bibliotheek Python noemt Pytorch.

Infer.net

Infer.net is ontwikkeld en wordt onderhouden door Microsoft. Infer.net is een bibliotheek met een primaire focus op de Bayesiaanse statistiek. Infer.net is een visualisatietool voor Deep Learning die is ontworpen om professionals state-of-the-art algoritmen te bieden voor probabilistische modellering. De bibliotheek bevat analytische hulpmiddelen zoals Bayesiaanse analyse, verborgen Markov-keten en clustering.

Keras

Keras is een Python raamwerk voor diepgaand leren. Het is een handige bibliotheek om elk deep learning-algoritme te construeren. Het voordeel van Keras is dat het hetzelfde gebruikt Python code die op CPU of GPU moet worden uitgevoerd. Bovendien is de codeeromgeving puur en is het mogelijk om geavanceerde algoritmen te trainen voor onder meer computervisie en tekstherkenning.

Keras is ontwikkeld door François Chollet, een onderzoeker bij Google. Keras wordt gebruikt in vooraanstaande organisaties zoals CERN, Yelp, Square of Google, Netflix, en Uber.

Keras

Theano

Theano is een deep learning-bibliotheek die in 2007 is ontwikkeld door de Université de Montréal. Vergelijk Theano met TensorFlow, het biedt snelle berekeningen en kan worden uitgevoerd op zowel CPU als GPU. Theano is ontwikkeld om deep neural network-algoritmen te trainen.

Microsoft Cognitieve Toolkit (CNTK)

Microsoft toolkit, voorheen bekend als CNTK, is een deep learning-bibliotheek ontwikkeld door Microsoft. Volgens Microsoft, behoort de bibliotheek tot de snelste op de markt. Microsoft toolkit is echter een open-sourcebibliotheek Microsoft gebruikt het op grote schaal voor zijn product zoals Skype, Cortana, Bing en Xbox. De toolkit is beschikbaar in zowel Python en C++.

MXNet

MXnet is een recente deep learning-bibliotheek. Het is toegankelijk met meerdere programmeertalen, waaronder C++, Julia, Python en R. MXNet kan worden geconfigureerd om te werken op zowel CPU als GPU. MXNet omvat state-of-the-art deep learning-architectuur zoals Convolutional Neural Network en Long Short-Term Memory. MXNet is gebouwd om te werken in harmony met dynamische cloudinfrastructuur. De hoofdgebruiker van MXNet is Amazon

Caffe

Caffe is een bibliotheek gebouwd door Yangqing Jia toen hij een PhD-student was in Berkeley. Als we Caffe versus TensorFlow vergelijken, is Caffe geschreven C++ en kan berekeningen uitvoeren op zowel CPU als GPU. De primaire toepassingen van Caffe zijn Convolutional Neural Network. Hoewel, in 2017, Facebook Caffe uitbreidde met meer deep learning architectuur, inclusief Recurrent Neural Network. Caffe wordt gebruikt door academici en startups, maar ook door enkele grote bedrijven zoals Yahoo!.

TensorFlow

TensorFlow is een open source-project van Google. TensorFlow is tegenwoordig de bekendste deep learning-bibliotheek. Eind 2015 werd het voor het publiek vrijgegeven

TensorFlow

TensorFlow is ontwikkeld in C++ en heeft handig Python API, hoewel C++ API's zijn ook beschikbaar. Prominente bedrijven als Airbus, Google, IBM en dergelijke gebruiken TensorFlow om deep learning-algoritmen te produceren.

TensorFlow versus Theano versus Torch versus Keras versus infer.net versus CNTK versus MXNet versus Caffe: belangrijkste verschillen

Bibliotheek Platform Geschreven in Cuda-ondersteuning Parallelle uitvoering Heeft getrainde modellen RNN CNN
Fakkel Linux, macOS, Windows Lua Ja Ja Ja Ja Ja
Afleiden.Net Linux, macOS, Windows Visual Studio Nee Nee Nee Nee Nee
Keras Linux, macOS, Windows Python Ja Ja Ja Ja Ja
Theano Cross-platform Python Ja Ja Ja Ja Ja
TensorFlow Linux, macOS, Windows, Android C++, Python, CUDA Ja Ja Ja Ja Ja
MICROSOFT COGNITIEVE TOOLKIT Linux, Windows, Mac met Docker C++ Ja Ja Ja Ja Ja
Caffe Linux, macOS, Windows C++ Ja Ja Ja Ja Ja
MXNet Linux, Windows, macOS, Android, IOS, Javascript C++ Ja Ja Ja Ja Ja

Vonnis

TensorFlow is de beste bibliotheek van allemaal omdat het is gebouwd om voor iedereen toegankelijk te zijn. De TensorFlow-bibliotheek bevat verschillende API's om deep learning-architectuur op schaal te bouwen, zoals CNN of RNN. TensorFlow is gebaseerd op grafiekberekening, het stelt de ontwikkelaar in staat om de constructie van het neurale netwerk te visualiseren met Tensorboad. Deze tool is handig om het programma te debuggen. Ten slotte is Tensorflow gebouwd om op schaal te worden ingezet. Het draait op CPU en GPU.

Tensorflow trekt de grootste populariteit op GitHub vergeleken met de andere deep learning-bibliotheken.

Machine Learning as a Service vergelijken

Hieronder staan ​​4 populaire DL als serviceproviders

Google Cloud ML

Google biedt een voorgeprogrammeerd model voor ontwikkelaars dat beschikbaar is in Cloud AutoML. Deze oplossing is er voor een ontwikkelaar zonder een sterke achtergrond in machine learning. Ontwikkelaars kunnen het geavanceerde, vooraf getrainde model van Google gebruiken voor hun gegevens. Hiermee kunnen ontwikkelaars elk model in slechts een paar minuten trainen en evalueren.

Google biedt momenteel een REST API voor computervisie, spraakherkenning, vertaling en NLP.

Google Cloud ML

gebruik Google Cloud, kunt u een machine learning-framework trainen dat is gebouwd op TensorFlow, Scikit-learn, XGBoost of Keras. Google Cloud machine learning zal de modellen in de cloud trainen.

Het voordeel van het gebruik van Google cloud computing is de eenvoud om machine learning in productie te implementeren. Er is geen noodzaak om een ​​Docker-container in te stellen. Bovendien zorgt de cloud voor de infrastructuur. Het weet hoe resources moeten worden toegewezen met CPU's, GPU's en TPU's. Het maakt de training sneller met parallelle berekeningen.

AWS SalieMaker

Een belangrijke concurrent van Google Cloud is Amazon wolk, AWS. Amazon heeft ontwikkeld Amazon SageMaker stelt datawetenschappers en ontwikkelaars in staat machine learning-modellen te bouwen, trainen en in productie te nemen.
SageMaker is beschikbaar in een Jupyter Notebook en bevat onder meer de meest gebruikte machine learning-bibliotheek, TensorFlow, MXNet, Scikit-learn. Programma's geschreven met SageMaker worden automatisch uitgevoerd in de Docker-containers. Amazon verzorgt de toewijzing van middelen om de training en inzet te optimaliseren.

AWS SalieMaker

Amazon biedt API aan de ontwikkelaars om intelligentie aan hun applicaties toe te voegen. In sommige gevallen is het niet nodig om het wiel opnieuw uit te vinden door nieuwe modellen helemaal opnieuw te bouwen, terwijl er krachtige, vooraf getrainde modellen in de cloud staan. Amazon levert API-services voor computer vision, conversationele chatbots en taaldiensten:

De drie belangrijkste beschikbare API's zijn:

  • Amazon Erkenning: biedt beeld- en videoherkenning aan een app
  • Amazon Begrijpen: Voer tekstmining en neurale taalverwerking uit om bijvoorbeeld het proces van het controleren van de wettigheid van financiële documenten te automatiseren
  • Amazon Lex: Chatbot toevoegen aan een app

Azure Machine Learning-studio

Waarschijnlijk een van de vriendelijkste benaderingen van machine learning Azure Machine Learning-studio. Het grote voordeel van deze oplossing is dat er geen voorafgaande programmeerkennis vereist is.

Microsoft Azure Machine Learning Studio is een drag-and-drop collaboratieve tool om machine learning-oplossingen te creëren, trainen, evalueren en implementeren. Het model kan efficiënt worden geïmplementeerd als webservices en worden gebruikt in verschillende apps zoals Excel.

Azure De interface voor machinaal leren is interactief, waardoor de gebruiker snel een model kan bouwen door elementen te slepen en neer te zetten.

Azure Machine Learning-studio

Wanneer het model klaar is, kan de ontwikkelaar het opslaan en ernaar pushen Azure Gallery or Azure Marktplaats.

Azure Machine learning kan worden geïntegreerd in R of Python hun op maat gemaakte inbouwpakket.

IBM Watson ML

Watson Studio kan de dataprojecten vereenvoudigen met een gestroomlijnd proces waarmee waarde en inzichten uit de data kunnen worden gehaald, zodat het bedrijf slimmer en sneller kan worden. Watson Studio levert een gebruiksvriendelijke collaboratieve datawetenschap- en machine learning-omgeving voor het bouwen en trainen van modellen, het voorbereiden en analyseren van gegevens en het delen van inzichten, allemaal op één plek. Watson Studio is eenvoudig te gebruiken met een drag-and-drop-code.

IBM Watson ML

Watson studio ondersteunt enkele van de meest populaire frameworks zoals Tensorflow, Keras, Pytorch en Caffe en kan een deep learning-algoritme implementeren op de nieuwste GPU's van Nvidia om de modellering te helpen versnellen.

Vonnis

Volgens ons is de Google cloud-oplossing de meest aanbevolen oplossing. De Google cloud-oplossing biedt ten minste 30% lagere prijzen dan AWS voor dataopslag en machine learning-oplossingen. Google doet uitstekend werk om AI te democratiseren. Het heeft een open source-taal ontwikkeld, TensorFlow, geoptimaliseerd datawarehouse verbinding, biedt geweldige tools, van datavisualisatie, data-analyse tot machine learning. Bovendien is Google Console ergonomisch en veel uitgebreider dan AWS of Windows.