TensorFlow vs Theano vs Torch vs Keras: Deep Learning Library

Inhoudsopgave:

Anonim

Kunstmatige intelligentie wordt sinds 2016 steeds populairder, waarbij 20% van de grote bedrijven AI in hun bedrijf gebruikt (McKinsey-rapport, 2018). Volgens hetzelfde rapport kan AI aanzienlijke waarde creëren in alle sectoren. In het bankwezen wordt het potentieel van AI bijvoorbeeld 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 leer je over de verschillende bibliotheken die beschikbaar zijn om deep learning-taken uit te voeren. Sommige bibliotheken bestaan ​​al jaren, terwijl de laatste jaren een nieuwe bibliotheek zoals TensorFlow aan het licht is gekomen.

8 Beste diepgaande bibliotheken / framework

In deze lijst zullen we de belangrijkste Deep Learning-frameworks vergelijken. Ze zijn allemaal open source en populair in de datawetenschappersgemeenschap. We zullen ook populaire ML als serviceproviders vergelijken

Fakkel

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

Torch deep learning-tool wordt gebruikt door de meeste toonaangevende laboratoria zoals Facebook, Google, Twitter, Nvidia, enzovoort. Torch heeft een bibliotheek in Python-namen 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 beoefenaars state-of-the-art algoritmen te bieden voor probabilistische modellering. De bibliotheek bevat analytische tools zoals Bayesiaanse analyse, verborgen Markov-keten, clustering.

Keras

Keras is een Python-framework voor deep learning. Het is een handige bibliotheek om elk algoritme voor diep leren te construeren. Het voordeel van Keras is dat het dezelfde Python-code gebruikt om op CPU of GPU te draaien. Trouwens, de coderingsomgeving is puur en maakt het mogelijk om state-of-the-art algoritme te trainen voor computervisie, tekstherkenning en andere.

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.

Theano

Theano is een bibliotheek voor diep leren, ontwikkeld door de Université de Montréal in 2007. In vergelijking met Theano versus TensorFlow biedt het snelle berekeningen en kan het worden uitgevoerd op zowel CPU als GPU. Theano is ontwikkeld om diepe neurale netwerkalgoritmen te trainen.

Microsoft Cognitive Toolkit (CNTK)

De Microsoft-toolkit, voorheen bekend als CNTK, is een deep learning-bibliotheek die is ontwikkeld door Microsoft. Volgens Microsoft behoort de bibliotheek tot de snelste op de markt. De Microsoft-toolkit is een open-sourcebibliotheek, hoewel Microsoft deze op grote schaal gebruikt voor zijn producten zoals Skype, Cortana, Bing en Xbox. De toolkit is beschikbaar in zowel Python als 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 de allernieuwste deep learning-architectuur zoals convolutioneel neuraal netwerk en lang kortetermijngeheugen. MXNet is gebouwd om in harmonie te werken met een dynamische cloudinfrastructuur. De belangrijkste gebruiker van MXNet is Amazon

Caffe

Caffe is een bibliotheek die is gebouwd door Yangqing Jia toen hij promovendus was aan Berkeley. In vergelijking met Caffe versus TensorFlow, Caffe is geschreven in C ++ en kan berekeningen uitvoeren op zowel CPU als GPU. Het primaire gebruik van Caffe is convolutioneel neuraal netwerk. Hoewel Facebook in 2017 Caffe uitbreidde met meer diepgaande leerarchitectuur, waaronder 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 beroemdste deep learning-bibliotheek. Het werd eind 2015 vrijgegeven voor het publiek

TensorFlow is ontwikkeld in C ++ en heeft een handige Python API, hoewel er ook C ++ API's beschikbaar zijn. Prominente bedrijven zoals Airbus, Google, IBM enzovoort gebruiken TensorFlow om deep learning-algoritmen te produceren.

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

Bibliotheek Platform Geschreven in Cuda-ondersteuning Parallelle uitvoering Heeft getrainde modellen RNN CNN
Fakkel Linux, MacOS, Windows Lua Ja Ja Ja Ja Ja
Infer.Net Linux, MacOS, Windows Visuele 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 op schaal deep learning-architectuur zoals CNN of RNN te bouwen. TensorFlow is gebaseerd op grafische berekeningen, het stelt de ontwikkelaar in staat om de constructie van het neurale netwerk met Tensorboad te visualiseren. 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 in vergelijking met de andere deep learning-bibliotheken.

Machine Learning as a Service vergelijken

Hieronder volgen 4 populaire DL als serviceproviders

Google Cloud ML

Google biedt een vooraf opgeleid model voor ontwikkelaars dat beschikbaar is in Cloud AutoML. Deze oplossing bestaat voor een ontwikkelaar zonder een sterke achtergrond in machine learning. Ontwikkelaars kunnen het geavanceerde, vooraf getrainde model van Google op hun gegevens gebruiken. Het stelt alle ontwikkelaars in staat om elk model in slechts een paar minuten te trainen en te evalueren.

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

Met Google Cloud kunt u een machine learning-framework trainen dat is gebaseerd op TensorFlow, Scikit-learn, XGBoost of Keras. Machine learning van Google Cloud traint de modellen in de hele cloud.

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

AWS SageMaker

Een belangrijke concurrent van Google Cloud is Amazon Cloud, AWS. Amazon heeft Amazon SageMaker ontwikkeld zodat datawetenschappers en ontwikkelaars alle machine learning-modellen kunnen bouwen, trainen en in productie kunnen nemen.

SageMaker is beschikbaar in een Jupyter Notebook en bevat onder andere de meest gebruikte machine learning-bibliotheek, TensorFlow, MXNet, Scikit-learn. Programma's die met SageMaker zijn geschreven, worden automatisch in de Docker-containers uitgevoerd. Amazon zorgt voor de toewijzing van middelen om de training en implementatie te optimaliseren.

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 vanaf nul nieuwe modellen te bouwen, terwijl er krachtige, vooraf getrainde modellen in de cloud zijn. Amazon biedt API-services voor computervisie, chatbots en taaldiensten:

De drie belangrijkste beschikbare API's zijn:

  • Amazon Rekognition: biedt beeld- en videoherkenning aan een app
  • Amazon Comprehend: Voer text mining 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 is Azure Machine Learning Studio. Het grote voordeel van deze oplossing is dat er geen programmeerkennis vereist is.

Microsoft Azure Machine Learning Studio is een samenwerkingstool via slepen en neerzetten om machine learning-oplossingen te creëren, trainen, evalueren en implementeren. Het model kan efficiënt worden ingezet als webservices en worden gebruikt in verschillende apps zoals Excel.

De Azure Machine Learning-interface is interactief, waardoor de gebruiker een model kan bouwen door elementen snel te slepen en neer te zetten.

Als het model klaar is, kan de ontwikkelaar het opslaan en naar Azure Gallery of Azure Marketplace pushen.

Azure Machine Learning kan worden geïntegreerd in R of Python, hun op maat gemaakte ingebouwde pakket.

IBM Watson ML

Watson Studio kan de dataprojecten vereenvoudigen met een gestroomlijnd proces waarmee waarde en inzichten uit de data kunnen worden gehaald om het bedrijf te helpen slimmer en sneller te worden. Watson Studio levert een gebruiksvriendelijke samenwerkingsomgeving voor datawetenschap en machine learning 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 code voor slepen en neerzetten.

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

Vonnis:

Naar onze mening is de Google-cloudoplossing het meest aanbevolen. Google-cloudoplossing biedt lagere prijzen dan de AWS met ten minste 30% voor gegevensopslag en machine learning-oplossingen. Google levert uitstekend werk om AI te democratiseren. Het heeft een open source-taal ontwikkeld, TensorFlow, een geoptimaliseerde datawarehouse-verbinding, en biedt geweldige tools van datavisualisatie, data-analyse tot machine learning. Bovendien is Google Console ergonomisch en veel uitgebreider dan AWS of Windows.