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.

Keras

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

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.

Google Cloud ML

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.

AWS SageMaker

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.

Azure Machine Learning Studio

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.

IBM Watson ML

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.

Sammanfatta detta inlägg med: