TensorFlow vs Theano vs Torch vs Keras: Deep Learning Library
Kunstig intelligens er vokset i popularitet siden 2016, og 20 % af de store virksomheder bruger kunstig intelligens i deres virksomheder (McKinsey indberette, 2018). Ifølge den samme rapport kan AI skabe betydelig værdi på tværs af brancher. I bankvæsenet vurderes potentialet for kunstig intelligens f.eks $300 milliarder, i detailhandlen er tallet skudt i vejret til $600 mia.
For at låse op for den potentielle værdi af AI skal virksomheder vælge den rigtige deep learning-ramme. I denne tutorial lærer du om de forskellige biblioteker, der er tilgængelige til at udføre dybe læringsopgaver. Nogle biblioteker har eksisteret i årevis, mens nyt bibliotek som TensorFlow er kommet frem i lyset i de senere år.
8 Bedste Deep learning Biblioteker /Framework
På denne liste vil vi sammenligne de bedste Deep learning-rammer. Alle er open source og populære i dataforskersamfundet. Vi vil også sammenligne populære ML som tjenesteudbydere
Torch
Torch er et gammelt open source maskinlæringsbibliotek. Den blev udgivet første gang for 15 år siden. Det primære programmeringssprog er LUA, men har en implementering i C. Sammenligner PyTorch vs TensorFlow, understøtter det et stort bibliotek for maskinlæringsalgoritmer, inklusive deep learning. Det understøtter CUDA-implementering til parallel beregning.
Torch deep learning-væ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 navngiver Pytorch.
Infer.net
Infer.net er udviklet og vedligeholdt af Microsoft. Infer.net er et bibliotek med primært fokus på Bayesiansk statistik. Infer.net er et visualiseringsværktøj til Deep Learning designet til at tilbyde praktikere avancerede algoritmer til probabilistisk modellering. Biblioteket indeholder analytiske værktøjer såsom Bayesiansk analyse, skjult Markov-kæde, clustering.
Keras
Keras er en Python rammer for dyb læring. Det er et praktisk bibliotek til at konstruere enhver dyb læringsalgoritme. Fordelen ved Keras er, at den bruger det samme Python kode til at køre på CPU eller GPU. Desuden er kodningsmiljøet rent og giver mulighed for at træne state-of-the-art algoritme til computersyn, tekstgenkendelse blandt andet.
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 et dybt læringsbibliotek udviklet af Université de Montréal i 2007. Sammenligner Theano vs TensorFlow, tilbyder det 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 toolkit, tidligere kendt som CNTK, er et deep learning-bibliotek udviklet af Microsoft. Ifølge Microsoft, er biblioteket blandt de hurtigste på markedet. Microsoft toolkit er dog et open source-bibliotek Microsoft bruger det flittigt til sit produkt som Skype, Cortana, Bing og Xbox. Værktøjssættet er tilgængeligt både i Python og C++.
MX Net
MXnet er et nyligt deep learning-bibliotek. Det er tilgængeligt med flere programmeringssprog, herunder C++, Julia, Python og R. MXNet kan konfigureres til at fungere på både CPU og GPU. MXNet inkluderer state-of-the-art deep learning-arkitektur såsom Convolutional Neural Network og Long Short-Term Memory. MXNet er bygget til at arbejde i harmony med dynamisk cloud-infrastruktur. Hovedbrugeren af MXNet er Amazon
Caffe
Caffe er et bibliotek bygget af Yangqing Jia, da han var ph.d.-studerende i Berkeley. Ved at sammenligne Caffe vs TensorFlow er Caffe skrevet ind C++ og kan udføre beregninger 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 Recurrent Neural Network. Caffe bruges af akademikere og startups, men også af nogle store virksomheder som Yahoo!.
TensorFlow
TensorFlow er Googles open source-projekt. TensorFlow er det mest berømte deep learning-bibliotek i disse dage. Den blev udgivet til offentligheden i slutningen af 2015
TensorFlow er udviklet i C++ og har praktisk Python API dog C++ API'er er også tilgængelige. Fremtrædende virksomheder som Airbus, Google, IBM og så videre bruger TensorFlow til at producere deep learning algoritmer.
TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Nøgleforskelle
Bibliotek | perron | Skrevet i | Cuda støtte | Parallel udførelse | Har trænede modeller | RNN | CNN |
---|---|---|---|---|---|---|---|
Torch | 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 | På tværs af platforme | 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 |
MX Net | Linux, Windows, macOS, Android, IOS, Javascript | C++ | Ja | Ja | Ja | Ja | Ja |
Bedømmelse
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 til at bygge i skala deep learning-arkitektur som CNN eller RNN. TensorFlow er baseret på grafberegning, det giver udvikleren mulighed for at visualisere konstruktionen af det neurale netværk med Tensorboad. Dette værktøj er nyttigt til at fejlfinde programmet. Endelig er Tensorflow bygget til at blive implementeret i stor skala. Den kører på CPU og GPU.
Tensorflow tiltrækker den største popularitet på GitHub sammenlignet med de andre deep learning-biblioteker.
Sammenligning af Machine Learning as a Service
Følgende er 4 populære DL som tjenesteudbydere
Google Cloud ML
Google sørger for en foruddannet udviklermodel tilgængelig i Cloud AutoML. Denne løsning findes for en udvikler uden en stærk baggrund i machine learning. Udviklere kan bruge avanceret Googles forudtrænede model på deres data. Det giver alle udviklere mulighed for at træne og evaluere enhver model på blot et par minutter.
Google leverer i øjeblikket en REST API til computersyn, talegenkendelse, oversættelse og NLP.
Ved brug af Google Cloud, kan du træne en maskinlæringsramme bygget på TensorFlow, Scikit-learn, XGBoost eller Keras. Google Cloud maskinlæ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 produktionen. Der er ingen grund til at konfigurere Docker-container. Derudover tager skyen sig af infrastrukturen. Det ved, hvordan man allokerer ressourcer med CPU'er, GPU'er og TPU'er. Det gør træningen hurtigere med parallel beregning.
AWS SageMaker
En stor konkurrent til Google Cloud is Amazon Sky, AWS. Amazon har udviklet Amazon SageMaker giver datavidenskabsfolk og udviklere mulighed for at bygge, træne og bringe alle maskinlæringsmodeller i produktion.
SageMaker fås i en Jupyter Notebook og inkluderer det mest brugte maskinlæringsbibliotek, TensorFlow, MXNet, Scikit-learn blandt andre. Programmer skrevet med SageMaker køres automatisk i Docker-beholderne. Amazon varetager ressourceallokeringen for at optimere træningen og udbredelsen.
Amazon leverer API til udviklerne for at tilføje intelligens til deres applikationer. I nogle tilfælde er der ingen grund til at genopfinde hjulet ved at bygge nye modeller fra bunden, mens der er kraftfulde præ-trænede modeller i skyen. Amazon leverer API-tjenester til computervision, chatbots til samtale og sprogtjenester:
De tre vigtigste tilgængelige API'er er:
- Amazon Anerkendelse: giver billed- og videogenkendelse til en app
- Amazon Forstå: Udfør tekstmining og neural sprogbehandling for for eksempel at automatisere processen med at kontrollere lovligheden af et finansielt dokument
- Amazon Lex: Føj chatbot til en app
Azure Machine Learning Studio
Sandsynligvis er en af de hyggeligste tilgange til maskinlæring 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-samarbejdsværktøj til at skabe, træne, evaluere og implementere en maskinlæringsløsning. Modellen kan effektivt implementeres som webtjenester og bruges i flere apps som Excel.
Azure Maskinlæringsgrænsefladen er interaktiv, hvilket giver brugeren mulighed for at bygge en model blot ved at trække og slippe elementer hurtigt.
Når modellen er klar, kan udvikleren gemme den og skubbe den til Azure Galleri or Azure Marketplace.
Azure Machine learning kan integreres i R eller Python deres tilpassede indbyggede pakke.
IBM Watson ML
Watson studio kan forenkle dataprojekterne med en strømlinet proces, der gør det muligt at udtrække værdi og indsigt fra dataene for at hjælpe virksomheden med at blive smartere og hurtigere. Watson studio leverer et brugervenligt samarbejdsbaseret datavidenskab og maskinlæringsmiljø til opbygning og træning af modeller, forberedelse og analyse af data og deling af indsigt på ét sted. Watson Studio er nem at bruge med en træk-og-slip-kode.
Watson studio understøtter nogle af de mest populære rammer som Tensorflow, Keras, Pytorch, Caffe og kan implementere en dyb læringsalgoritme på de nyeste GPU'er fra Nvidia for at hjælpe med at accelerere modelleringen.
Bedømmelse
Efter vores synspunkt er Google cloud-løsning den, der er den mest anbefalede. Google cloud-løsning giver lavere priser på AWS med mindst 30 % for datalagring og maskinlæringsløsning. Google gør et fremragende stykke arbejde for at demokratisere kunstig intelligens. Det har udviklet et open source-sprog, TensorFlow, optimeret datalager forbindelse, giver enorme værktøjer fra datavisualisering, dataanalyse til maskinlæring. Desuden er Google Console ergonomisk og meget mere omfattende end AWS eller Windows.