TensorFlow vs Theano vs Torch vs Keras: Deep Learning Library

Kunstig intelligens vokser i popularitet siden 2016, med 20% av de store selskapene som bruker AI i sine virksomheter (McKinsey-rapporten, 2018). I henhold til den samme rapporten kan AI skape betydelige verdier på tvers av bransjer. I bank, for eksempel, er potensialet for AI anslått til $ 300 milliarder, i detaljhandel antall skyrocket til $ 600 milliarder.

For å frigjøre den potensielle verdien av AI, må bedriftene velge riktig dyp læringsramme. I denne veiledningen vil du lære om de forskjellige bibliotekene som er tilgjengelige for å utføre dype læringsoppgaver. Noen biblioteker har eksistert i årevis, mens nytt bibliotek som TensorFlow har kommet til syne de siste årene.

8 beste biblioteker / rammeverk for dyp læring

I denne listen vil vi sammenligne de beste rammene for dyp læring. Alle er åpen kildekode og populære i datavitenskapsmiljøet. Vi vil også sammenligne populær ML som tjenesteleverandører

Lommelykt

Torch er et gammelt open source maskinlæringsbibliotek. Den ble først utgitt for 15 år siden. Det er primært programmeringsspråk som er LUA, men har en implementering i C. Sammenligner PyTorch vs TensorFlow, støtter det et stort bibliotek for maskinlæringsalgoritmer, inkludert dyp læring. Den støtter CUDA-implementering for parallell beregning.

Torch deep learning tool brukes av de fleste av de ledende laboratoriene som Facebook, Google, Twitter, Nvidia og så videre. Torch har et bibliotek i Python-navnene Pytorch.

Infer.net

Infer.net er utviklet og vedlikeholdt av Microsoft. Infer.net er et bibliotek med hovedfokus på den bayesiske statistikken. Infer.net er et visualiseringsverktøy for Deep Learning designet for å tilby utøvere toppmoderne algoritmer for sannsynlig modellering. Biblioteket inneholder analytiske verktøy som Bayesian analyse, skjult Markov-kjede, klynging.

Keras

Keras er et Python-rammeverk for dyp læring. Det er et praktisk bibliotek for å konstruere hvilken som helst dyplæringsalgoritme. Fordelen med Keras er at den bruker samme Python-kode for å kjøre på CPU eller GPU. Dessuten er kodemiljøet rent og muliggjør opplæring av moderne algoritme for datasyn, blant annet tekstgjenkjenning.

Keras er utviklet av François Chollet, forsker hos Google. Keras brukes i fremtredende organisasjoner som CERN, Yelp, Square eller Google, Netflix og Uber.

Theano

Theano er dyplæringsbibliotek utviklet av Université de Montréal i 2007. Sammenligner Theano vs TensorFlow, tilbyr det rask beregning og kan kjøres på både CPU og GPU. Theano er utviklet for å trene dype nevrale nettverksalgoritmer.

Microsoft Cognitive Toolkit (CNTK)

Microsoft verktøykasse, tidligere kjent som CNTK, er et dyp læringsbibliotek utviklet av Microsoft. I følge Microsoft er biblioteket blant de raskeste på markedet. Microsoft verktøykasse er et open source-bibliotek, selv om Microsoft bruker det mye for sitt produkt som Skype, Cortana, Bing og Xbox. Verktøysettet er tilgjengelig både i Python og C ++.

MXNet

MXnet er et nylig dyp læringsbibliotek. Den er tilgjengelig med flere programmeringsspråk, inkludert C ++, Julia, Python og R. MXNet kan konfigureres til å fungere på både CPU og GPU. MXNet inkluderer topp moderne dyplæringsarkitektur som Convolutional Neural Network og Long Short-Term Memory. MXNet er bygget for å fungere i harmoni med dynamisk skyinfrastruktur. Hovedbrukeren av MXNet er Amazon

Caffe

Caffe er et bibliotek bygget av Yangqing Jia da han var doktorgradsstudent ved Berkeley. Sammenligning av Caffe vs TensorFlow, er Caffe skrevet i C ++ og kan utføre beregning på både CPU og GPU. Den primære bruken av Caffe er Convolutional Neural Network. Selv om Facebook i 2017 utvidet Caffe med mer dyp læringsarkitektur, inkludert Recurrent Neural Network. Caffe brukes av akademikere og oppstart, men også noen store selskaper som Yahoo !.

TensorFlow

TensorFlow er Googles open source-prosjekt. TensorFlow er det mest berømte dybdelæringsbiblioteket i disse dager. Den ble utgitt for publikum i slutten av 2015

TensorFlow er utviklet i C ++ og har praktisk Python API, selv om C ++ APIer også er tilgjengelige. Prominente selskaper som Airbus, Google, IBM og så videre bruker TensorFlow til å produsere algoritmer for dyp læring.

TensorFlow vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Key Differences

Bibliotek Plattform Skrevet i Cuda-støtte Parallell utførelse Har trente modeller RNN CNN
Lommelykt Linux, MacOS, Windows Lua Ja Ja Ja Ja Ja
Infer.Net Linux, MacOS, Windows Visuelt studio Nei Nei Nei Nei Nei
Keras Linux, MacOS, Windows Python Ja Ja Ja Ja Ja
Theano Kryssplattform Python Ja Ja Ja Ja Ja
TensorFlow Linux, MacOS, Windows, Android C ++, Python, CUDA Ja Ja Ja Ja Ja
MICROSOFT COGNITIVE TOOLKIT Linux, Windows, Mac med 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

Kjennelse:

TensorFlow er det beste biblioteket av alle fordi det er bygget for å være tilgjengelig for alle. Tensorflow-biblioteket inneholder forskjellige API-er som er bygget i stor skala, dyp læringsarkitektur som CNN eller RNN. TensorFlow er basert på grafberegning, det lar utvikleren visualisere konstruksjonen av nevrale nettverk med Tensorboad. Dette verktøyet er nyttig for å feilsøke programmet. Til slutt er Tensorflow bygget for å distribueres i stor skala. Den kjører på CPU og GPU.

Tensorflow tiltrekker seg den største populariteten på GitHub sammenlignet med de andre dype læringsbibliotekene.

Sammenligning av maskinlæring som en tjeneste

Følgende er 4 populære DL som tjenesteleverandører

Google Cloud ML

Google sørger for forhåndsopplært utvikler modell tilgjengelig i Cloud AutoML. Denne løsningen finnes for en utvikler uten sterk bakgrunn innen maskinlæring. Utviklere kan bruke toppmoderne Googles forhåndstrente modell på dataene sine. Det lar alle utviklere trene og evaluere en hvilken som helst modell på bare noen få minutter.

Google tilbyr for øyeblikket et REST API for datasyn, talegjenkjenning, oversettelse og NLP.

Ved hjelp av Google Cloud kan du trene et maskinlæringsrammeverk som bygger på TensorFlow, Scikit-learn, XGBoost eller Keras. Google Cloud maskinlæring vil trene modellene på tvers av skyen.

Fordelen med å bruke Google cloud computing er enkelheten å distribuere maskinlæring i produksjon. Det er ikke nødvendig å sette opp Docker-container. Dessuten tar skyen seg av infrastrukturen. Den vet hvordan man tildeler ressurser med CPUer, GPUer og TPUer. Det gjør treningen raskere med parallell beregning.

AWS SageMaker

En viktig konkurrent til Google Cloud er Amazon cloud, AWS. Amazon har utviklet Amazon SageMaker for å tillate dataforskere og utviklere å bygge, trene og bringe i produksjon alle maskinlæringsmodeller.

SageMaker er tilgjengelig i en Jupyter Notebook og inkluderer blant annet det mest brukte maskinlæringsbiblioteket, TensorFlow, MXNet, Scikit-learning. Programmer skrevet med SageMaker kjøres automatisk i Docker-containerne. Amazon håndterer ressurstildelingen for å optimalisere opplæringen og distribusjonen.

Amazon gir API til utviklerne for å legge til intelligens i applikasjonene sine. I noen tilfeller er det ikke nødvendig å gjenoppfinne rattet ved å bygge fra bunnen av nye modeller mens det er kraftige forhåndstrente modeller i skyen. Amazon tilbyr API-tjenester for datasyn, samtale chatbots og språktjenester:

De tre viktigste tilgjengelige API-ene er:

  • Amazon Rekognition: gir bilde- og videogjenkjenning til en app
  • Amazon Comprehend: Utfør tekstutvinning og prosessering av nevrale språk for å for eksempel automatisere prosessen med å kontrollere lovligheten av det økonomiske dokumentet
  • Amazon Lex: Legg til chatbot i en app

Azure Machine Learning Studio

Sannsynligvis en av de vennligste tilnærmingene til maskinlæring er Azure Machine Learning Studio. Den betydelige fordelen med denne løsningen er at det ikke kreves forhåndskunnskap om programmering.

Microsoft Azure Machine Learning Studio er et dra-og-slipp samarbeidsverktøy for å lage, trene, evaluere og distribuere maskinlæringsløsning. Modellen kan effektivt distribueres som webtjenester og brukes i flere apper som Excel.

Azure Machine læringsgrensesnitt er interaktivt, slik at brukeren kan bygge en modell bare ved å dra og slippe elementer raskt.

Når modellen er klar, kan utvikleren lagre den og skyve den til Azure Gallery eller Azure Marketplace.

Azure maskinlæring kan integreres i R eller Python deres tilpassede innebygde pakke.

IBM Watson ML

Watson studio kan forenkle dataprosjektene med en strømlinjeformet prosess som gjør det mulig å hente verdi og innsikt fra dataene for å hjelpe virksomheten til å bli smartere og raskere. Watson studio leverer et brukervennlig samarbeidende datavitenskap og maskinlæringsmiljø for å bygge og trene modeller, forberede og analysere data og dele innsikt på ett sted. Watson Studio er enkel å bruke med en dra-og-slipp-kode.

Watson studio støtter noen av de mest populære rammene som Tensorflow, Keras, Pytorch, Caffe og kan distribuere en dyp læringsalgoritme til de nyeste GPU-ene fra Nvidia for å akselerere modellering.

Kjennelse:

I vårt synspunkt er Googles skyløsning den som anbefales mest. Googles skyløsning gir AWS lavere priser med minst 30% for datalagring og maskinlæringsløsning. Google gjør en utmerket jobb for å demokratisere AI. Den har utviklet et åpent kildespråk, TensorFlow, optimalisert datalagerforbindelse, gir enorme verktøy fra datavisualisering, dataanalyse til maskinlæring. Dessuten er Google Console ergonomisk og mye mer omfattende enn AWS eller Windows.

Interessante artikler...