TensorFlow vs Theano vs Torch vs Keras: Djupinlärningsbibliotek
Artificiell intelligens har ökat i popularitet sedan 2016 med 20 % av de stora företagen som använder AI i sina företag (McKinsey rapport, 2018). Enligt samma rapport kan AI skapa betydande värde i olika branscher. Inom bankväsendet, till exempel, uppskattas potentialen för AI till $300 miljarder, i detaljhandeln siffran skyrocket till $600 miljarder.
För att låsa upp det potentiella värdet av AI måste företag välja rätt ram för djupinlärning. I den här handledningen kommer du att lära dig om de olika biblioteken som är tillgängliga för att utföra djupinlärningsuppgifter. Vissa bibliotek har funnits i åratal medan nya bibliotek som TensorFlow har dykt upp under 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 djupinlärning. Alla av dem är öppen källkod och populära inom dataforskare. Vi kommer också att jämföra populära ML som tjänsteleverantörer
Torch
Torch är ett gammalt maskininlärningsbibliotek med öppen källkod. Det släpptes första gången för 15 år sedan. Dess primära programmeringsspråk är LUA, men har en implementering i C. Jämförelse av PyTorch jämfört med TensorFlow, stöder den ett omfattande bibliotek för maskininlärningsalgoritmer, inklusive djupinlärning. Den stöder CUDA-implementering för parallell beräkning.
Torch djupinlärningsverktyget används av de flesta ledande laboratorier som Facebook, Google, Twitter, Nvidia och så vidare. Torch har ett bibliotek i Python heter Pytorch.
Infer.net
Infer.net är utvecklat och underhållet 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 såsom Bayesiansk analys, dold Markov-kedja, klustring.
Keras
Keras är en Python ram för djupt lärande. Det är ett bekvämt bibliotek för att konstruera alla djupinlärningsalgoritmer. Fördelen med Keras är att den använder samma Python kod som ska köras på CPU eller GPU. Dessutom är kodningsmiljön ren och tillåter träning av toppmodern algoritm för datorseende, textigenkänning bland annat.
Keras utvecklades av François Chollet, en forskare vid GoogleKeras används i framstående organisationer som CERN, Yelp, Square eller Google, Netflix, och Uber.
Theano
Theano är ett bibliotek för djupinlärning utvecklat av Université de Montréal 2007. Jämfört Theano vs TensorFlow erbjuder det snabb beräkning och kan köras på både CPU och GPU. Theano har utvecklats för att träna algoritmer för djupa neurala nätverk.
Microsoft Cognitive Toolkit (CNTK)
Microsoft toolkit, tidigare känt som CNTK, är ett bibliotek för djupinlärning utvecklat av Microsoft. Enligt Microsoft, är biblioteket bland de snabbaste på marknaden. Microsoft toolkit är dock ett bibliotek med öppen källkod Microsoft använder det flitigt för sin produkt som Skype, Cortana, Bing och Xbox. Verktygslådan finns tillgänglig både i Python och C++.
MX Net
MXnet är ett nytt bibliotek för djupinlärning. 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 harmony med dynamisk molninfrastruktur. Huvudanvändaren av MXNet är Amazon
caffe
Caffe är ett bibliotek som byggdes av Yangqing Jia när han var doktorand i Berkeley. Jämför Caffe vs TensorFlow, är Caffe skrivet in C++ och kan utföra beräkningar på både CPU och GPU. Den primära användningen av Caffe är Convolutional Neural Network. Även om Facebook under 2017 utökade Caffe med mer djupinlärningsarkitektur, inklusive Recurrent Neural Network. Caffe används av akademiker och nystartade företag men även av vissa stora företag som Yahoo!.
TensorFlow
TensorFlow är Google öppen källkodsprojekt. TensorFlow är det mest kända djupinlärningsbiblioteket nuförtiden. Det släpptes för allmänheten i slutet av 2015
TensorFlow är utvecklad i C++ och har bekvämt Python API dock C++ API:er finns också tillgängliga. Framstående företag som Airbus, Google, IBM och så vidare använder TensorFlow för att producera algoritmer för djupinlärning.
TensorFlow jämfört med Theano Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Viktiga skillnader
| Bibliotek | plattform | Skrivet i | Cuda stöd | Parallell utförande | Har utbildade modeller | RNN | CNN |
|---|---|---|---|---|---|---|---|
| Torch | Linux, macOS, Windows | lua | Ja | Ja | Ja | Ja | Ja |
| Infer.Net | Linux, macOS, Windows | Visual Studio | Nej | Nej | Nej | Nej | Nej |
| Keras | Linux, macOS, Windows | Python | Ja | Ja | Ja | Ja | Ja |
| Theano | Plattformsoberoende | Python | Ja | Ja | Ja | Ja | Ja |
| TensorFlow | Linux, macOS, Windows, Android | C++, Python, CUDA | Ja | Ja | Ja | Ja | Ja |
| MICROSOFT COGNITIVE TOOLSIT | 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, AndroidIOS, Javascript | C++ | Ja | Ja | Ja | Ja | Ja |
Slutsats
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 för att bygga i skala djupinlärningsarkitektur som CNN eller RNN. TensorFlow är baserat på grafberäkning, det låter utvecklaren visualisera konstruktionen av det neurala nätverket med Tensorboad. Det här verktyget är användbart för att felsöka programmet. Slutligen är Tensorflow byggt för att kunna distribueras i stor skala. Den körs på CPU och GPU.
Tensorflöde vidtrachar den största populariteten på GitHub jämfört med andra djupinlärningsbibliotek.
Jämför 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örtränad modell för utvecklare som är tillgänglig i Cloud AutoML. Denna lösning finns för en utvecklare utan stark bakgrund inom maskininlärningUtvecklare kan använda toppmodern teknik Googles förtränade modell på deras data. Det gör det möjligt för alla utvecklare att 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 datorseende, taligenkänning, översättning och NLP.
Använda 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 dess moln.
Fördelen med att använda Google Molntjänster är enkla sätt att driftsätta maskininlärning i produktion. Det finns inget behov av att konfigurera en Docker-container. Dessutom tar molnet hand om infrastrukturen. Det vet hur man allokerar resurser med CPU:er, GPU:er och TPU:er. Det gör träningen snabbare med parallell beräkning.
AWS SageMaker
En stor konkurrent till Google Cloud is Amazon moln, AWS. Amazon har utvecklats Amazon SageMaker gör det möjligt för datavetare och utvecklare att bygga, träna och ta i produktion alla maskininlärningsmodeller.
SageMaker finns i en Jupyter Notebook och inkluderar det mest använda maskininlärningsbiblioteket, TensorFlow, MXNet, Scikit-learn bland andra. Program skrivna med SageMaker körs automatiskt i Docker-behållarna. Amazon hanterar resurstilldelningen för att optimera utbildningen och driftsättningen.
Amazon tillhandahåller API till utvecklarna för att lägga till intelligens till deras applikationer. Vid vissa tillfällen finns det inget behov av att återuppfinna hjulet genom att bygga nya modeller från grunden medan det finns kraftfulla förtränade modeller i molnet. Amazon tillhandahåller API-tjänster för datorseende, konversationschatbotar och språktjänster:
De tre stora tillgängliga API:erna är:
- Amazon Erkännande: ger bild- och videoigenkänning till en app
- Amazon Förstå: Utför textutvinning och neural språkbehandling för att till exempel automatisera processen för att kontrollera lagligheten av finansiella dokument
- Amazon Lex: Lägg till chatbot i en app
Azure Machine Learning Studio
Förmodligen är en av de vänligaste metoderna för maskininlärning Azure Machine Learning Studio. Den betydande fördelen med denna lösning är att inga förkunskaper om programmering krävs.
Microsoft Azure Machine Learning Studio är ett dra-och-släpp-samarbetsverktyg för att skapa, träna, utvärdera och distribuera maskininlärningslösningar. Modellen kan effektivt distribueras som webbtjänster och användas i flera appar som Excel.
Azure Maskininlärningsgränssnittet är interaktivt, vilket gör att användaren kan bygga en modell genom att bara dra och släppaping elementen snabbt.
När modellen är klar kan utvecklaren spara den och skjuta den till Azure Galleri or Azure Marknad.
Azure Maskininlärning kan integreras i R eller Python deras anpassade inbyggda paket.
IBM Watson ML
Watson Studio kan förenkla dataprojekt med en effektiviserad process som möjliggör extracSkapa 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 och samarbetsinriktad miljö för datavetenskap och maskininlärning för att bygga och träna modeller, förbereda och analysera data och dela insikter, allt på ett ställe. Watson Studio är lätt att använda med dra-och-släpp-kod.
Watson studio stöder några av de mest populära ramverken som Tensorflow, Keras, Pytorch, Caffe och kan distribuera en djupinlärningsalgoritm på de senaste GPU:erna från Nvidia för att påskynda modelleringen.
Slutsats
Ur vår synvinkel, Google Molnlösningen är den som rekommenderas mest. Google Molnlösningen ger lägre priser än AWS med minst 30 % för datalagring och maskininlärningslösningar. Google gör ett utmärkt jobb med att demokratisera AI. De har utvecklat ett öppen källkodsspråk, TensorFlow, optimerat datalagret anslutning, tillhandahåller fantastiska verktyg från datavisualisering, dataanalys till maskininlärning. Dessutom, Google Konsolen är ergonomisk och mycket mer omfattande än AWS eller Windows.






