TensorFlow vs Theano vs Torch vs Keras: Deep Learning Library

Tekoälyn suosio on kasvanut vuodesta 2016 lähtien, ja 20 prosenttia suurista yrityksistä käyttää tekoälyä liiketoiminnassaan (McKinsey raportti, 2018). Saman raportin mukaan tekoäly voi luoda merkittävää arvoa eri toimialoilla. Esimerkiksi pankkitoiminnassa tekoälyn potentiaalia arvioidaan olevan $300 miljardia, vähittäiskaupassa määrä nousi pilviin $600 miljardia.

Tekoälyn potentiaalisen arvon vapauttamiseksi yritysten on valittava oikea syväoppimiskehys. Tässä opetusohjelmassa opit erilaisista kirjastoista, jotka ovat käytettävissä syvän oppimisen tehtävien suorittamiseen. Jotkut kirjastot ovat olleet olemassa jo vuosia, kun taas uusi kirjasto, kuten TensorFlow, on ilmestynyt viime vuosina.

8 parasta syväoppimiskirjastoa / -kehys

Tässä luettelossa vertaamme parhaita syväoppimiskehyksiä. Kaikki ne ovat avoimen lähdekoodin ja suosittuja tietotutkijayhteisössä. Vertailemme myös suosittua ML:ää palveluntarjoajana

Taskulamppu

Torch on vanha avoimen lähdekoodin koneoppimiskirjasto. Se julkaistiin ensimmäisen kerran 15 vuotta sitten. Se on ensisijainen ohjelmointikieli LUA, mutta se on toteutettu C-kielellä. PyTorchia ja TensorFlowta verrattaessa se tukee laajaa kirjastoa koneoppimisalgoritmeille, mukaan lukien syväoppiminen. Se tukee CUDA-toteutusta rinnakkaislaskennassa.

Torch syväoppimistyökalua käyttävät useimmat johtavat laboratoriot, kuten Facebook, Google, Twitter, Nvidia ja niin edelleen. Torchissa on kirjasto Python nimet Pytorch.

Infer.net

Infer.net on kehittänyt ja ylläpitänyt Microsoft. Infer.net on kirjasto, joka keskittyy ensisijaisesti Bayesin tilastoihin. Infer.net on Deep Learningin visualisointityökalu, joka on suunniteltu tarjoamaan ammattilaisille huippuluokan algoritmeja todennäköisyyspohjaiseen mallinnukseen. Kirjasto sisältää analyyttiset työkalut kuten Bayesin analyysi, piilotettu Markov-ketju, klusterointi.

Keras

Keras on a Python puitteet syvälle oppimiselle. Se on kätevä kirjasto minkä tahansa syvän oppimisalgoritmin rakentamiseen. Kerasin etuna on, että se käyttää samaa Python koodi suorittimella tai GPU:lla. Lisäksi koodausympäristö on puhdas ja mahdollistaa muun muassa tietokonenäön, tekstintunnistuksen huippuluokan algoritmien koulutuksen.

Kerasin on kehittänyt François Chollet, Googlen tutkija. Kerasta käytetään merkittävissä organisaatioissa, kuten CERN, Yelp, Square tai Google, Netflixja Uber.

Keras

Theano

Theano on Montréalin yliopiston vuonna 2007 kehittämä syväoppimiskirjasto. Theano vs TensorFlow vertaamalla se tarjoaa nopean laskentatavan ja sitä voidaan käyttää sekä CPU:lla että GPU:lla. Theano on kehitetty kouluttamaan syviä hermoverkkoalgoritmeja.

Microsoft Kognitiivinen työkalupakki (CNTK)

Microsoft työkalupakki, joka tunnettiin aiemmin nimellä CNTK, on ​​syväoppimiskirjasto, jonka on kehittänyt Microsoft. Mukaan Microsoft, kirjasto on markkinoiden nopeimpia. Microsoft toolkit on kuitenkin avoimen lähdekoodin kirjasto Microsoft käyttää sitä laajasti tuotteissaan Skype, Cortana, Bing ja Xbox. Työkalupaketti on saatavilla molemmissa Python ja C++.

MX Net

MXnet on viimeaikainen syväoppimiskirjasto. Se on käytettävissä useilla ohjelmointikielillä, mukaan lukien C++, Julia, Python ja R. MXNet voidaan määrittää toimimaan sekä CPU:ssa että GPU:ssa. MXNet sisältää huippuluokan syväoppimisarkkitehtuurin, kuten Convolutional Neural Network ja Long Short-Term Memory. MXNet on rakennettu toimimaan harmony dynaamisella pilviinfrastruktuurilla. MXNetin pääkäyttäjä on Amazon

Caffe

Caffe on kirjasto, jonka Yangqing Jia rakensi hänen ollessaan tohtoriopiskelija Berkeleyssä. Caffea ja TensorFlow'ta verrattaessa Caffe on kirjoitettu sisään C++ ja voi suorittaa laskennan sekä CPU:lla että GPU:lla. Caffen pääasiallinen käyttötarkoitus on konvoluutiohermoverkko. Vaikka vuonna 2017 Facebook laajensi Caffea syvemmällä oppimisarkkitehtuurilla, mukaan lukien Recurrent Neural Network. Caffea käyttävät tutkijat ja startupit, mutta myös jotkut suuret yritykset, kuten Yahoo!.

TensorFlow

TensorFlow on Googlen avoimen lähdekoodin projekti. TensorFlow on nykyään tunnetuin syväoppimiskirjasto. Se julkaistiin yleisölle vuoden 2015 lopulla

TensorFlow

TensorFlow on kehitetty vuonna C++ ja on kätevä Python API kuitenkin C++ API:t ovat myös saatavilla. Tunnetut yritykset, kuten Airbus, Google, IBM ja niin edelleen käyttävät TensorFlow'ta syväoppimisalgoritmien tuottamiseen.

TensorFlow vs Theano vs Torch vs Keras vs infer.net vs CNTK vs MXNet vs Caffe: Tärkeimmät erot

Kirjasto foorumi Kirjoitettu sisään Cuda tuki Rinnakkainen toteutus On koulutettuja malleja RNN CNN
Taskulamppu Linux, macOS, Windows lua Kyllä Kyllä Kyllä Kyllä Kyllä
Infer.Net Linux, macOS, Windows Visual Studio Ei Ei Ei Ei Ei
Keras Linux, macOS, Windows Python Kyllä Kyllä Kyllä Kyllä Kyllä
Theano Cross-platform Python Kyllä Kyllä Kyllä Kyllä Kyllä
TensorFlow Linux, macOS, Windows, Android C++, Python, CUDA Kyllä Kyllä Kyllä Kyllä Kyllä
MICROSOFT COGNITIVE TOOLKIT Linux, Windows, Mac Dockerilla C++ Kyllä Kyllä Kyllä Kyllä Kyllä
Caffe Linux, macOS, Windows C++ Kyllä Kyllä Kyllä Kyllä Kyllä
MX Net Linux, Windows, macOS, Android, IOS, Javascript C++ Kyllä Kyllä Kyllä Kyllä Kyllä

Tuomio

TensorFlow on kaikkien paras kirjasto, koska se on suunniteltu kaikkien käytettäväksi. Tensorflow-kirjasto sisältää erilaisia ​​sovellusliittymiä, jotka on rakennettu mittakaavassa syväoppimisarkkitehtuuriin, kuten CNN tai RNN. TensorFlow perustuu graafilaskentaan, jonka avulla kehittäjä voi visualisoida hermoverkon rakentamisen Tensorboad. Tämä työkalu on hyödyllinen ohjelman virheenkorjauksessa. Lopuksi Tensorflow on suunniteltu käytettäväksi mittakaavassa. Se toimii CPU:lla ja GPU:lla.

Tensorflow houkuttelee eniten suosiota GitHubissa muihin syväoppimiskirjastoihin verrattuna.

Koneoppimisen vertailu palveluna

Seuraavassa on 4 suosittua DL:tä palveluntarjoajana

Google Cloud ML

Google tarjoaa kehittäjille valmiiksi koulutetun mallin, joka on saatavilla Cloud AutoML:ssä. Tämä ratkaisu on olemassa kehittäjälle, jolla ei ole vahvaa taustaa koneoppiminen. Kehittäjät voivat käyttää tiedoissaan uusinta Googlen esikoulutettua mallia. Sen avulla kaikki kehittäjät voivat kouluttaa ja arvioida mitä tahansa mallia muutamassa minuutissa.

Google tarjoaa tällä hetkellä REST-sovellusliittymän tietokonenäköön, puheentunnistukseen, kääntämiseen ja NLP:hen.

Google Cloud ML

Käyttäminen Google Cloud, voit kouluttaa koneoppimiskehyksen, joka perustuu TensorFlow-, Scikit-learn-, XGBoost- tai Keras-pohjaisiin. Google Cloud koneoppiminen kouluttaa malleja pilvensä yli.

Googlen pilvipalveluiden käytön etuna on koneoppimisen yksinkertaisuus ottaa käyttöön tuotannossa. Docker-konttia ei tarvitse määrittää. Lisäksi pilvi huolehtii infrastruktuurista. Se osaa allokoida resursseja suorittimien, grafiikkasuorittimien ja TPU:iden kanssa. Se nopeuttaa harjoittelua rinnakkaislaskennan avulla.

AWS SageMaker

Suuri kilpailija Google Cloud is Amazon pilvi, AWS. Amazon on kehittänyt Amazon SageMakerin avulla datatieteilijät ja kehittäjät voivat rakentaa, kouluttaa ja tuoda tuotantoon mitä tahansa koneoppimismalleja.
SageMaker on saatavilla a Jupyter Muistikirja ja sisältää muun muassa eniten käytetyn koneoppimiskirjaston, TensorFlown, MXNetin, Scikit-learnin. SageMakerilla kirjoitetut ohjelmat suoritetaan automaattisesti Docker-säiliöissä. Amazon hoitaa resurssien allokoinnin koulutuksen ja käyttöönoton optimoimiseksi.

AWS SageMaker

Amazon tarjoaa API:n kehittäjille, jotta he voivat lisätä älykkyyttä sovelluksiinsa. Joskus ei tarvitse keksiä pyörää uudelleen rakentamalla tyhjästä uusia malleja, kun taas pilvessä on tehokkaita esikoulutettuja malleja. Amazon tarjoaa API-palveluita tietokonenäköön, keskusteluchatboteihin ja kielipalveluihin:

Kolme tärkeintä saatavilla olevaa sovellusliittymää ovat:

  • Amazon Tunnistus: tarjoaa kuvan ja videon tunnistuksen sovellukselle
  • Amazon Ymmärtää: Suorita tekstinlouhinta ja hermoston kielen käsittely esimerkiksi talousasiakirjan laillisuuden tarkistusprosessin automatisoimiseksi
  • Amazon Lex: Lisää chatbot sovellukseen

Azure Koneoppimisstudio

Todennäköisesti yksi ystävällisimmistä lähestymistavoista koneoppimiseen on Azure Koneoppimisstudio. Tämän ratkaisun merkittävä etu on, että aiempaa ohjelmointiosaamista ei tarvita.

Microsoft Azure Machine Learning Studio on vedä ja pudota -yhteistyötyökalu koneoppimisratkaisujen luomiseen, kouluttamiseen, arvioimiseen ja käyttöönottoon. Malli voidaan ottaa tehokkaasti käyttöön verkkopalveluina ja käyttää useissa sovelluksissa, kuten Excelissä.

Azure Koneoppimisrajapinta on interaktiivinen, joten käyttäjä voi rakentaa mallin vain vetämällä ja pudottamalla elementtejä nopeasti.

Azure Koneoppimisstudio

Kun malli on valmis, kehittäjä voi tallentaa sen ja siirtää sen Azure Galleria or Azure Marketplace.

Azure Koneoppiminen voidaan integroida R tai Python heidän mukautetun sisäänrakennetun paketin.

IBM Watson ML

Watson Studio voi yksinkertaistaa dataprojekteja virtaviivaistetun prosessin avulla, joka mahdollistaa arvon ja oivallusten poimimisen tiedoista, mikä auttaa yritystä kehittymään älykkäämmäksi ja nopeammaksi. Watson studio tarjoaa helppokäyttöisen yhteiskäyttöisen datatieteen ja koneoppimisympäristön mallien rakentamiseen ja harjoittamiseen, tietojen valmisteluun ja analysointiin sekä oivallusten jakamiseen yhdessä paikassa. Watson Studio on helppokäyttöinen vedä ja pudota -koodin avulla.

IBM Watson ML

Watson studio tukee joitain suosituimmista kehyksistä, kuten Tensorflow, Keras, Pytorch, Caffe ja voi ottaa käyttöön syvän oppimisalgoritmin Nvidian uusimmissa GPU:issa mallinnuksen nopeuttamiseksi.

Tuomio

Näkemyksemme mukaan Googlen pilviratkaisu on suosituin. Googlen pilviratkaisu tarjoaa AWS:lle vähintään 30 % halvempia hintoja tiedontallennus- ja koneoppimisratkaisulle. Google tekee erinomaista työtä tekoälyn demokratisoimiseksi. Se on kehittänyt avoimen lähdekoodin kielen, TensorFlow, optimoituna tietovarasto yhteys tarjoaa valtavia työkaluja datan visualisoinnista, data-analyysistä koneoppimiseen. Lisäksi Google Console on ergonominen ja paljon kattavampi kuin AWS tai Windows.