Konstgjord intelligens växer i popularitet sedan 2016 med 20% av de stora företagen som använder AI i sina företag (McKinsey-rapporten, 2018). Enligt samma rapport kan AI skapa betydande värde för alla branscher. Inom bank, till exempel, är potentialen för AI uppskattas till $ 300 miljarder, inom detaljhandeln antalet skyrocket till $ 600 miljarder.
För att låsa upp det potentiella värdet av AI måste företagen välja rätt ram för djupinlärning. I den här handledningen lär du dig om de olika biblioteken som finns tillgängliga för att utföra djupinlärningsuppgifter. Vissa bibliotek har funnits i flera år medan nya bibliotek som TensorFlow har dykt upp de senaste åren.
8 bästa djupinlärningsbibliotek / ramverk
I den här listan kommer vi att jämföra de bästa ramarna för Deep Learning. Alla är öppen källkod och populära i datavetenskapssamhället. Vi kommer också att jämföra populära ML som tjänsteleverantörer
Fackla
Torch är ett gammalt bibliotek för maskininlärning med öppen källkod. Det släpptes först för 15 år sedan. Det är det primära programmeringsspråket är LUA, men har en implementering i C. Jämförelse av PyTorch vs TensorFlow stöder ett stort bibliotek för maskininlärningsalgoritmer, inklusive djupinlärning. Den stöder CUDA-implementering för parallell beräkning.
Torch deep learning tool används av de flesta av de ledande laboratorierna som Facebook, Google, Twitter, Nvidia och så vidare. Torch har ett bibliotek i Python-namnen Pytorch.
Infer.net
Infer.net utvecklas och underhålls av Microsoft. Infer.net är ett bibliotek med primärt fokus på Bayesiansk statistik. Infer.net är ett visualiseringsverktyg för Deep Learning utformat för att erbjuda utövare toppmoderna algoritmer för probabilistisk modellering. Biblioteket innehåller analytiska verktyg som Bayesian-analys, dold Markov-kedja, kluster.
Keras
Keras är ett Python-ramverk för djupinlärning. Det är ett bekvämt bibliotek för att konstruera vilken djupinlärningsalgoritm som helst. Fördelen med Keras är att den använder samma Python-kod för att köra på CPU eller GPU. Dessutom är kodningsmiljön ren och möjliggör träning av avancerad algoritm för datasyn, bland annat textigenkänning.
Keras har utvecklats av François Chollet, forskare på Google. Keras används i framstående organisationer som CERN, Yelp, Square eller Google, Netflix och Uber.
Theano
Theano är ett djupt lärande bibliotek som utvecklades av Université de Montréal 2007. Jämförelse mellan Theano och TensorFlow erbjuder snabb beräkning och kan köras på både CPU och GPU. Theano har utvecklats för att träna djupa neurala nätverksalgoritmer.
Microsoft Cognitive Toolkit (CNTK)
Microsofts verktygslåda, tidigare känd som CNTK, är ett djupt lärande bibliotek utvecklat av Microsoft. Enligt Microsoft är biblioteket bland de snabbaste på marknaden. Microsofts verktygslåda är ett bibliotek med öppen källkod, även om Microsoft använder det i stor utsträckning för sin produkt som Skype, Cortana, Bing och Xbox. Verktygssatsen finns både i Python och C ++.
MXNet
MXnet är ett nyligen utbildat bibliotek. Den är tillgänglig med flera programmeringsspråk inklusive C ++, Julia, Python och R. MXNet kan konfigureras för att fungera på både CPU och GPU. MXNet inkluderar toppmodern djupinlärningsarkitektur som Convolutional Neural Network och Long Short-Term Memory. MXNet är byggt för att fungera i harmoni med dynamisk molninfrastruktur. Huvudanvändaren av MXNet är Amazon
Caffe
Caffe är ett bibliotek byggt av Yangqing Jia när han var doktorand vid Berkeley. Jämförelse av Caffe vs TensorFlow är Caffe skrivet i C ++ och kan utföra beräkning på både CPU och GPU. De främsta användningarna av Caffe är Convolutional Neural Network. Även om Facebook under 2017 utökade Caffe med mer djupgående inlärningsarkitektur, inklusive återkommande neuralt nätverk. Caffe används av akademiker och nystartade företag men också några stora företag som Yahoo !.
TensorFlow
TensorFlow är Googles öppen källkodsprojekt. TensorFlow är det mest kända djupinlärningsbiblioteket idag. Det släpptes för allmänheten i slutet av 2015
TensorFlow är utvecklat i C ++ och har bekvämt Python API, även om C ++ API finns också. Framstående företag som Airbus, Google, IBM och så vidare använder TensorFlow för att producera algoritmer för djupinlärning.
TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Key Differences
Bibliotek | Plattform | Skrivet i | Cuda support | Parallell utförande | Har utbildade modeller | RNN | CNN |
---|---|---|---|---|---|---|---|
Fackla | Linux, MacOS, Windows | Lua | Ja | Ja | Ja | Ja | Ja |
Infer.Net | Linux, MacOS, Windows | Visuell Studio | Nej | Nej | Nej | Nej | Nej |
Keras | Linux, MacOS, Windows | Pytonorm | Ja | Ja | Ja | Ja | Ja |
Theano | Tvärplattform | Pytonorm | 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 |
Dom:
TensorFlow är det bästa biblioteket av alla eftersom det är byggt för att vara tillgängligt för alla. Tensorflow-biblioteket innehåller olika API: er som byggs i stor skala djupinlärningsarkitektur som CNN eller RNN. TensorFlow är baserat på grafberäkning, det gör det möjligt för utvecklaren att visualisera konstruktionen av det neurala nätverket med Tensorboad. Detta verktyg är till hjälp för att felsöka programmet. Slutligen är Tensorflow byggt för att distribueras i stor skala. Den körs på CPU och GPU.
Tensorflow lockar den största populariteten på GitHub jämfört med de andra djupinlärningsbiblioteken.
Jämföra maskininlärning som en tjänst
Följande är 4 populära DL som tjänsteleverantörer
Google Cloud ML
Google tillhandahåller en förutbildad utvecklare som finns tillgänglig i Cloud AutoML. Denna lösning finns för en utvecklare utan stark bakgrund inom maskininlärning. Utvecklare kan använda avancerad Googles förutbildade modell på sina data. Det gör att alla utvecklare kan träna och utvärdera vilken modell som helst på bara några minuter.
Google tillhandahåller för närvarande ett REST API för datorsyn, taligenkänning, översättning och NLP.
Med Google Cloud kan du träna ett ramverk för maskininlärning som bygger på TensorFlow, Scikit-learn, XGBoost eller Keras. Google Cloud-maskininlärning kommer att träna modellerna över sitt moln.
Fördelen med att använda Google cloud computing är enkelheten att distribuera maskininlärning i produktion. Det finns inget behov av att konfigurera Docker-behållare. Dessutom tar molnet hand om infrastrukturen. Den vet hur man fördelar resurser med processorer, GPU: er och TPU: er. Det gör träningen snabbare med parallell beräkning.
AWS SageMaker
En viktig konkurrent till Google Cloud är Amazon cloud, AWS. Amazon har utvecklat Amazon SageMaker för att tillåta dataforskare och utvecklare att bygga, träna och ta i bruk alla maskininlärningsmodeller.
SageMaker finns i en Jupyter Notebook och innehåller bland annat det mest använda maskininlärningsbiblioteket, TensorFlow, MXNet, Scikit-learning. Program skrivna med SageMaker körs automatiskt i Docker-behållarna. Amazon hanterar resurstilldelningen för att optimera utbildning och distribution.
Amazon tillhandahåller API till utvecklarna för att lägga till intelligens i sina applikationer. Vid vissa tillfällen finns det inget behov av att uppfinna hjulet igen genom att bygga nya modeller från grunden medan det finns kraftfulla förutbildade modeller i molnet. Amazon tillhandahåller API-tjänster för datorsyn, konversationschattbots och språktjänster:
De tre stora tillgängliga API: erna är:
- Amazon Rekognition: ger bild- och videoigenkänning till en app
- Amazon Comprehend: Utför textbrytning och bearbetning av neurala språk för att till exempel automatisera processen för att kontrollera lagenligheten av finansiella dokument
- Amazon Lex: Lägg till chatbot i en app
Azure Machine Learning Studio
Förmodligen en av de vänligaste metoderna för maskininlärning är Azure Machine Learning Studio. Den betydande fördelen med denna lösning är att ingen tidigare kunskap om programmering krävs.
Microsoft Azure Machine Learning Studio är ett drag-och-släpp-samarbetsverktyg för att skapa, träna, utvärdera och distribuera maskininlärningslösning. Modellen kan effektivt distribueras som webbtjänster och användas i flera appar som Excel.
Azure Machine Learning-gränssnittet är interaktivt, så att användaren kan bygga en modell bara genom att dra och släppa element snabbt.
När modellen är klar kan utvecklaren spara den och skicka den till Azure Gallery eller Azure Marketplace.
Azure Machine Learning kan integreras i R eller Python deras anpassade inbyggda paket.
IBM Watson ML
Watson studio kan förenkla dataprojekten med en strömlinjeformad process som gör det möjligt att extrahera värde och insikter från data för att hjälpa verksamheten att bli smartare och snabbare. Watson studio levererar en lättanvänd samarbetsmiljö för datavetenskap och maskininlärning för att bygga och utbilda modeller, förbereda och analysera data och dela insikter på ett och samma ställe. Watson Studio är lätt att använda med en dra-och-släpp-kod.
Watson studio stöder några av de mest populära ramarna som Tensorflow, Keras, Pytorch, Caffe och kan distribuera en djup inlärningsalgoritm till de senaste GPU: erna från Nvidia för att påskynda modellering.
Dom:
Enligt vår synvinkel är Googles molnlösning den som rekommenderas mest. Googles molnlösning ger AWS lägre priser med minst 30% för datalagring och maskininlärningslösning. Google gör ett utmärkt jobb för att demokratisera AI. Det har utvecklat ett öppen källkodsspråk, TensorFlow, optimerad datalageranslutning, ger enorma verktyg från datavisualisering, dataanalys till maskininlärning. Dessutom är Google Console ergonomisk och mycket mer omfattande än AWS eller Windows.