TensorFlow vs Theano vs Torch vs Keras: Deep Learning Library

Indholdsfortegnelse:

Anonim

Kunstig intelligens vokser i popularitet siden 2016, idet 20% af de store virksomheder bruger AI i deres virksomheder (McKinsey-rapport, 2018). I henhold til den samme rapport kan AI skabe betydelig værdi på tværs af brancher. I banker estimeres f.eks. Potentialet for AI til $ 300 milliarder, i detailhandlen skyder antallet op til $ 600 milliarder.

For at frigøre den potentielle værdi af AI skal virksomheder vælge den rigtige dyb læringsramme. I denne vejledning lærer du om de forskellige tilgængelige biblioteker til at udføre dyb læringsopgaver. Nogle biblioteker har eksisteret i årevis, mens nyt bibliotek som TensorFlow er kommet frem i de senere år.

8 bedste dyb læringsbiblioteker / rammer

På denne liste sammenligner vi de øverste dyb læringsrammer. Alle er open source og populære i dataforskersamfundet. Vi sammenligner også populære ML som tjenesteudbydere

Fakkel

Torch er et gammelt open source maskinindlæringsbibliotek. Den blev først frigivet for 15 år siden. Det er det primære programmeringssprog, der er LUA, men har en implementering i C. Sammenligner PyTorch vs TensorFlow understøtter det et stort bibliotek til maskinlæringsalgoritmer, inklusive dyb læring. Det understøtter CUDA-implementering til parallel beregning.

Fakkel dyb læringsværktøj bruges af de fleste af de førende laboratorier såsom Facebook, Google, Twitter, Nvidia og så videre. Torch har et bibliotek i Python navne Pytorch.

Infer.net

Infer.net er udviklet og vedligeholdt af Microsoft. Infer.net er et bibliotek med primært fokus på den bayesiske statistik. Infer.net er et visualiseringsværktøj til Deep Learning designet til at tilbyde praktiserende læger avancerede algoritmer til probabilistisk modellering. Biblioteket indeholder analytiske værktøjer såsom Bayesian-analyse, skjult Markov-kæde, klyngedannelse.

Keras

Keras er en Python-ramme til dyb læring. Det er et praktisk bibliotek til at konstruere enhver dyb læringsalgoritme. Fordelen ved Keras er, at den bruger den samme Python-kode til at køre på CPU eller GPU. Desuden er kodemiljøet rent og giver mulighed for at træne avanceret algoritme til computersyn, blandt andet tekstgenkendelse.

Keras er udviklet af François Chollet, en forsker hos Google. Keras bruges i fremtrædende organisationer som CERN, Yelp, Square eller Google, Netflix og Uber.

Theano

Theano er dyb læringsbibliotek udviklet af Université de Montréal i 2007. Sammenligner Theano vs TensorFlow, det tilbyder hurtig beregning og kan køres på både CPU og GPU. Theano er udviklet til at træne dybe neurale netværksalgoritmer.

Microsoft Cognitive Toolkit (CNTK)

Microsoft-værktøjssæt, tidligere kendt som CNTK, er et dyb læringsbibliotek udviklet af Microsoft. Ifølge Microsoft er biblioteket blandt de hurtigste på markedet. Microsoft-værktøjssæt er et open source-bibliotek, selvom Microsoft bruger det i vid udstrækning til sit produkt som Skype, Cortana, Bing og Xbox. Værktøjssættet er tilgængeligt både i Python og C ++.

MXNet

MXnet er et nyligt dyb læringsbibliotek. Det er tilgængeligt med flere programmeringssprog, herunder C ++, Julia, Python og R. MXNet kan konfigureres til at arbejde på både CPU og GPU. MXNet inkluderer avanceret dyb læringsarkitektur såsom Convolutional Neural Network og Long Short-Term Memory. MXNet er bygget til at arbejde i harmoni med dynamisk skyinfrastruktur. Hovedbrugeren af ​​MXNet er Amazon

Caffe

Caffe er et bibliotek bygget af Yangqing Jia, da han var ph.d.-studerende i Berkeley. Sammenligning af Caffe vs TensorFlow er Caffe skrevet i C ++ og kan udføre beregning på både CPU og GPU. De primære anvendelser af Caffe er Convolutional Neural Network. Selvom Facebook i 2017 udvidede Caffe med mere dyb læringsarkitektur, inklusive tilbagevendende neuralt netværk. Caffe bruges af akademikere og startups, men også nogle store virksomheder som Yahoo !.

TensorFlow

TensorFlow er Googles open source-projekt. TensorFlow er det mest berømte dyb læringsbibliotek i disse dage. Det blev frigivet til offentligheden i slutningen af ​​2015

TensorFlow er udviklet i C ++ og har praktisk Python API, selvom C ++ API'er også er tilgængelige. Fremtrædende virksomheder som Airbus, Google, IBM og så videre bruger TensorFlow til at producere algoritmer for dyb læring.

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

Bibliotek Platform Skrevet i Cuda support Parallel udførelse Har trænet modeller RNN CNN
Fakkel Linux, MacOS, Windows Lua Ja Ja Ja Ja Ja
Infer.Net Linux, MacOS, Windows Visual Studio Ingen Ingen Ingen Ingen Ingen
Keras Linux, MacOS, Windows Python Ja Ja Ja Ja Ja
Theano Tværplatform 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, MacO'er, Android, iOS, Javascript C ++ Ja Ja Ja Ja Ja

Dom:

TensorFlow er det bedste bibliotek af alle, fordi det er bygget til at være tilgængeligt for alle. Tensorflow-biblioteket inkorporerer forskellige API'er, der er bygget i skala dyb læringsarkitektur som CNN eller RNN. TensorFlow er baseret på grafberegning, det giver udvikleren mulighed for at visualisere opbygningen af ​​det neurale netværk med Tensorboad. Dette værktøj er nyttigt til fejlfinding af programmet. Endelig er Tensorflow bygget til at blive implementeret i målestok. Det kører på CPU og GPU.

Tensorflow tiltrækker den største popularitet på GitHub sammenlignet med de andre dyb læringsbiblioteker.

Sammenligning af maskinlæring som en service

Følgende er 4 populære DL som tjenesteudbydere

Google Cloud ML

Google sørger for en præ-trænet model, der er tilgængelig i Cloud AutoML. Denne løsning findes for en udvikler uden en stærk baggrund inden for maskinlæring. Udviklere kan bruge avanceret Googles foruddannede model på deres data. Det giver alle udviklere mulighed for at træne og evaluere enhver model på få minutter.

Google leverer i øjeblikket en REST API til computersyn, talegenkendelse, oversættelse og NLP.

Ved hjælp af Google Cloud kan du træne en maskinlæringsramme, der bygger på TensorFlow, Scikit-learn, XGBoost eller Keras. Google Cloud-maskinindlæring træner modellerne på tværs af sin sky.

Fordelen ved at bruge Google cloud computing er enkelheden til at implementere maskinlæring i produktion. Der er ikke behov for at konfigurere Docker-container. Desuden tager skyen sig af infrastrukturen. Det ved, hvordan man tildeler ressourcer med CPU'er, GPU'er og TPU'er. Det gør træningen hurtigere med parallel beregning.

AWS SageMaker

En vigtig konkurrent til Google Cloud er Amazon cloud, AWS. Amazon har udviklet Amazon SageMaker til at give dataforskere og udviklere mulighed for at opbygge, træne og bringe alle maskinlæringsmodeller i produktion.

SageMaker er tilgængelig i en Jupyter Notebook og inkluderer blandt andet det mest anvendte maskinlæringsbibliotek, TensorFlow, MXNet, Scikit-learning. Programmer skrevet med SageMaker køres automatisk i Docker-containere. Amazon håndterer ressourceallokering for at optimere træning og implementering.

Amazon leverer API til udviklerne for at tilføje intelligens til deres applikationer. I nogle tilfælde er der ikke behov for at genopfinde rattet ved at opbygge nye modeller fra bunden, mens der er kraftige foruddannede modeller i skyen. Amazon leverer API-tjenester til computersyn, samtale chatbots og sprogtjenester:

De tre største tilgængelige API er:

  • Amazon Rekognition: giver billed- og videogenkendelse til en app
  • Amazon Comprehend: Udfør tekstminedrift og neuralt sprogbehandling for eksempelvis at automatisere processen med at kontrollere lovligheden af ​​det økonomiske dokument
  • Amazon Lex: Føj chatbot til en app

Azure Machine Learning Studio

Sandsynligvis en af ​​de hyggeligste tilgange til maskinlæring er Azure Machine Learning Studio. Den væsentlige fordel ved denne løsning er, at der ikke kræves nogen forudgående programmeringskendskab.

Microsoft Azure Machine Learning Studio er et træk-og-slip-værktøj til at skabe, træne, evaluere og implementere maskinlæringsløsning. Modellen kan effektivt implementeres som webservices og bruges i flere apps som Excel.

Azure Machine learning-grænseflade er interaktiv, så brugeren kan opbygge en model ved blot at trække og slippe elementer hurtigt.

Når modellen er klar, kan udvikleren gemme den og skubbe den til Azure Gallery eller Azure Marketplace.

Azure Machine learning kan integreres i R eller Python deres brugerdefinerede indbyggede pakke.

IBM Watson ML

Watson studio kan forenkle dataprojekterne med en strømlinet proces, der gør det muligt at udvinde værdi og indsigt fra dataene for at hjælpe virksomheden med at blive smartere og hurtigere. Watson studio leverer et brugervenligt datavidenskabeligt og maskinindlæringsmiljø, der er let at bruge til at opbygge og træne modeller, forberede og analysere data og dele indsigt på ét sted. Watson Studio er let at bruge med en træk-og-slip-kode.

Watson-studiet understøtter nogle af de mest populære rammer som Tensorflow, Keras, Pytorch, Caffe og kan implementere en dyb læringsalgoritme videre til de nyeste GPU'er fra Nvidia for at hjælpe med at fremskynde modellering.

Dom:

Efter vores synspunkt er Googles cloud-løsning den, der er den mest anbefalede. Googles cloud-løsning giver AWS lavere priser med mindst 30% for datalagrings- og maskinlæringsløsning. Google gør et fremragende stykke arbejde for at demokratisere AI. Det har udviklet et open source-sprog, TensorFlow, optimeret datalagerforbindelse, giver enorme værktøjer fra datavisualisering, dataanalyse til maskinindlæring. Desuden er Google Console ergonomisk og meget mere omfattende end AWS eller Windows.