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-bibliotek for maskinlรฆring. Det blev udgivet for 15 รฅr siden. Dets primรฆre programmeringssprog er LUA, men har en implementering i C. Sammenligning af PyTorch vs TensorFlow, understรธtter det et stort bibliotek til maskinlรฆringsalgoritmer, herunder deep learning. Det understรธtter CUDA-implementering til parallel beregning.

Torch deep learning-vรฆrktรธjet 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 blev udviklet af Franรงois Chollet, en forsker ved GoogleKeras bruges i fremtrรฆdende organisationer som CERN, Yelp, Square eller Google, Netflix, og Uber.

Keras

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 Google open source-projekt. TensorFlow er det mest berรธmte deep learning-bibliotek i disse dage. Det blev udgivet til offentligheden i slutningen af โ€‹โ€‹2015

TensorFlow

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: Vigtigste forskelle

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 vedtrachar 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 prรฆ-trรฆnet model for udviklere, der er tilgรฆngelig i Cloud AutoML. Denne lรธsning findes for en udvikler uden en stรฆrk baggrund i machine learningUdviklere kan bruge den nyeste teknologi Google's prรฆtrรฆnede model pรฅ deres data. Det giver alle udviklere mulighed for at trรฆne og evaluere enhver model pรฅ blot et par minutter.

Google tilbyder i รธjeblikket en REST API til computer vision, talegenkendelse, oversรฆttelse og NLP.

Google Cloud ML

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 den enkle mรฅde at implementere maskinlรฆring i produktion. Der er ikke behov for at sรฆtte en Docker-container op. Derudover tager skyen sig af infrastrukturen. Den ved, hvordan ressourcer skal allokeres til 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.

AWS SageMaker

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 slippeping elementer hurtigt.

Azure Machine Learning Studio

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 dataprojekter med en strรธmlinet proces, der muliggรธr f.eks.tracskabe vรฆrdi og indsigt fra dataene for at hjรฆlpe virksomheden med at blive smartere og hurtigere. Watson Studio leverer et brugervenligt, samarbejdsorienteret datavidenskabs- og maskinlรฆringsmiljรธ til opbygning og trรฆning af modeller, forberedelse og analyse af data og deling af indsigt, alt sammen pรฅ รฉt sted. Watson Studio er nem at bruge med trรฆk-og-slip-kode.

IBM Watson ML

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

Fra vores synspunkt, Google Cloud-lรธsningen er den mest anbefalede. Google Cloud-lรธsningen giver mindst 30 % lavere priser end AWS for datalagring og maskinlรฆringslรธsninger. Google gรธr et fremragende stykke arbejde med at demokratisere AI. Det har udviklet et open source-sprog, TensorFlow, der er optimeret datalager forbindelse, leverer fantastiske vรฆrktรธjer fra datavisualisering og dataanalyse til maskinlรฆring. Derudover, Google Konsollen er ergonomisk og meget mere omfattende end AWS eller Windows.

Opsummer dette indlรฆg med: