TensorFlow vs Theano vs Torch vs Keras: Deep Learning Library
Kunstig intelligens har vokst i popularitet siden 2016, med 20 % av de store selskapene som bruker AI i sine virksomheter (McKinsey rapporterer, 2018). I henhold til samme rapport kan AI skape betydelig verdi på tvers av bransjer. I bankvirksomhet, for eksempel, anslås potensialet til AI til $300 milliarder kroner, i detaljhandelen skyter antallet til $600 milliarder kroner.
For å frigjøre den potensielle verdien av AI, må bedrifter velge riktig rammeverk for dyp læring. I denne opplæringen vil du lære om de forskjellige bibliotekene som er tilgjengelige for å utføre dyplæringsoppgaver. Noen biblioteker har eksistert i årevis, mens nye biblioteker som TensorFlow har kommet frem i lyset de siste årene.
8 beste dyplæringsbiblioteker/rammeverk
I denne listen vil vi sammenligne de beste rammeverkene for dyp læring. Alle er åpen kildekode og populære i dataforskermiljøet. Vi vil også sammenligne populære ML som tjenesteleverandører
Torch
Torch er et gammelt maskinlæringsbibliotek med åpen kildekode. Den ble først utgitt for 15 år siden. Det primære programmeringsspråket 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-verktøyet brukes av de fleste av de ledende laboratoriene som Facebook, Google, Twitter, Nvidia og så videre. Torch har et bibliotek i Python heter Pytorch.
Infer.net
Infer.net er utviklet og vedlikeholdt av Microsoft. Infer.net er et bibliotek med hovedfokus på Bayesiansk statistikk. Infer.net er et visualiseringsverktøy for Deep Learning designet for å tilby utøvere state-of-the-art algoritmer for probabilistisk modellering. Biblioteket inneholder analytiske verktøy som Bayesiansk analyse, skjult Markov-kjede, clustering.
Keras
Keras er en Python rammeverk for dyp læring. Det er et praktisk bibliotek for å konstruere enhver dyp læringsalgoritme. Fordelen med Keras er at den bruker det samme Python kode for å kjøre på CPU eller GPU. Dessuten er kodemiljøet rent og gir mulighet for opplæring av toppmoderne algoritme for datasyn, tekstgjenkjenning blant annet.
Keras ble utviklet av François Chollet, en forsker ved Google. Keras brukes i fremtredende organisasjoner som CERN, Yelp, Square eller Google, Netflix, og Uber.
Theano
Theano er et 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 Kognitivt verktøysett (CNTK)
Microsoft verktøysett, tidligere kjent som CNTK, er et dyplæringsbibliotek utviklet av Microsoft. Ifølge Microsoft, er biblioteket blant de raskeste på markedet. Microsoft toolkit er et åpen kildekode-bibliotek, men Microsoft bruker det mye for sitt produkt som Skype, Cortana, Bing og Xbox. Verktøysettet er tilgjengelig både i Python og C++.
MX Nett
MXnet er et nylig dyplæ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 toppmoderne dyplæringsarkitektur som Convolutional Neural Network og Long Short-Term Memory. MXNet er bygget for å fungere i harmony med dynamisk skyinfrastruktur. Hovedbrukeren av MXNet er Amazon
Caffe
Caffe er et bibliotek bygget av Yangqing Jia da han var doktorgradsstudent ved Berkeley. Ved å sammenligne Caffe vs TensorFlow, er Caffe skrevet inn C++ og kan utføre beregninger 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 startups, men også av noen store selskaper som Yahoo!.
tensorflow
TensorFlow er Googles åpen kildekode-prosjekt. TensorFlow er det mest kjente dyplæringsbiblioteket i disse dager. Den ble utgitt for publikum i slutten av 2015
TensorFlow er utviklet i C++ og har praktisk Python API, men C++ APIer er også tilgjengelige. Fremtredende selskaper som Airbus, Google, IBM og så videre bruker TensorFlow til å produsere dype læringsalgoritmer.
TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Nøkkelforskjeller
Bibliotek | Plattform | Skrevet i | Cuda-støtte | Parallell utførelse | Har trent modeller | RNN | CNN |
---|---|---|---|---|---|---|---|
Torch | Linux, macOS, Windows | Lua | Ja | Ja | Ja | Ja | Ja |
Infer.Net | Linux, macOS, Windows | Visual 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 KOGNITIVT VERKTØYSETT | Linux, Windows, Mac med Docker | C++ | Ja | Ja | Ja | Ja | Ja |
Caffe | Linux, macOS, Windows | C++ | Ja | Ja | Ja | Ja | Ja |
MX Nett | 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 for å bygge dyp læringsarkitektur i skala som CNN eller RNN. TensorFlow er basert på grafberegning, det lar utvikleren visualisere konstruksjonen av det nevrale nettverket med Tensorboad. Dette verktøyet er nyttig for å feilsøke programmet. Til slutt er Tensorflow bygget for å kunne distribueres i stor skala. Den kjører på CPU og GPU.
Tensorflow tiltrekker seg den største populariteten på GitHub sammenlignet med de andre dyplæ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 en forhåndstrent modell for utviklere tilgjengelig i Cloud AutoML. Denne løsningen finnes for en utvikler uten sterk bakgrunn i maskinlæring. Utviklere kan bruke toppmoderne Googles forhåndsopplærte modell på dataene sine. Det lar alle utviklere trene og evaluere hvilken som helst modell på bare noen få minutter.
Google tilbyr for tiden et REST API for datasyn, talegjenkjenning, oversettelse og NLP.
Ved hjelp av Google Cloud, kan du trene et maskinlæringsrammeverk bygget 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 til å implementere maskinlæring i produksjonen. Det er ikke nødvendig å sette opp Docker-beholder. Dessuten tar skyen seg av infrastrukturen. Den vet hvordan den skal allokere ressurser med CPUer, GPUer og TPUer. Det gjør treningen raskere med parallelle beregninger.
AWS SageMaker
En stor konkurrent til Google Cloud is Amazon Sky, AWS. Amazon har utviklet Amazon SageMaker lar dataforskere og utviklere bygge, trene og sette i produksjon alle maskinlæringsmodeller.
SageMaker er tilgjengelig i en Jupyter Notebook og inkluderer det mest brukte maskinlæringsbiblioteket, TensorFlow, MXNet, Scikit-learn blant andre. Programmer skrevet med SageMaker kjøres automatisk i Docker-beholderne. Amazon håndterer ressursallokeringen for å optimalisere opplæringen og utplasseringen.
Amazon gir API til utviklerne for å legge til intelligens til applikasjonene deres. I noen tilfeller er det ikke nødvendig å finne opp hjulet på nytt ved å bygge nye modeller fra bunnen av mens det er kraftige forhåndstrente modeller i skyen. Amazon tilbyr API-tjenester for datasyn, chatboter for samtaler og språktjenester:
De tre viktigste tilgjengelige APIene er:
- Amazon Anerkjennelse: gir bilde- og videogjenkjenning til en app
- Amazon Fatte: Utfør tekstmining og nevrale språkbehandlinger for for eksempel å automatisere prosessen med å kontrollere lovligheten av finansdokumenter
- Amazon Lex: Legg til chatbot i en app
Azure Machine Learning Studio
Sannsynligvis er en av de vennligste tilnærmingene til maskinlæring Azure Machine Learning Studio. Den betydelige fordelen med denne løsningen er at ingen forkunnskaper om programmering er nødvendig.
Microsoft Azure Machine Learning Studio er et dra-og-slipp-samarbeidsverktøy for å lage, trene, evaluere og distribuere maskinlæringsløsninger. Modellen kan effektivt distribueres som webtjenester og brukes i flere apper som Excel.
Azure Maskinlæringsgrensesnittet 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 Galleri or Azure Marketplace.
Azure Maskinlæring kan integreres i R eller Python deres egendefinerte innebygde pakke.
IBM Watson ML
Watson studio kan forenkle dataprosjektene med en strømlinjeformet prosess som gjør det mulig å trekke ut 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 rammeverkene som Tensorflow, Keras, Pytorch, Caffe og kan distribuere en dyp læringsalgoritme på de nyeste GPUene fra Nvidia for å akselerere modelleringen.
Kjennelse
Etter vårt synspunkt er Google skyløsning den som er den mest anbefalte. Googles skyløsning gir lavere priser på AWS med minst 30 % for datalagring og maskinlæringsløsning. Google gjør en utmerket jobb for å demokratisere AI. Den har utviklet et åpen kildekodespråk, TensorFlow, optimalisert datalager tilkobling, gir enorme verktøy fra datavisualisering, dataanalyse til maskinlæring. Dessuten er Google Console ergonomisk og mye mer omfattende enn AWS eller Windows.