TensorFlow vs Theano vs Torch vs Keras: Biblioteka dubokog učenja

Sadržaj:

Anonim

Umjetna inteligencija postaje sve popularnija od 2016. godine, s 20% velikih tvrtki koje u svom poslu koriste AI (izvještaj McKinsey, 2018.). Prema istom izvješću, AI može stvoriti značajnu vrijednost u različitim djelatnostima. U bankarstvu, na primjer, potencijal AI se procjenjuje na $ 300 milijardi dolara, u trgovini na malo na broj poletjeti uvis do $ od 600 milijardi eura.

Da bi otključale potencijalnu vrijednost umjetne inteligencije, tvrtke moraju odabrati pravi okvir dubokog učenja. U ovom vodiču naučit ćete o različitim knjižnicama koje su dostupne za izvršavanje zadataka dubokog učenja. Neke knjižnice postoje godinama, dok je nova knjižnica poput TensorFlowa posljednjih godina izašla na vidjelo.

8 najboljih biblioteka / okvir za duboko učenje

Na ovom ćemo popisu usporediti glavne okvire dubokog učenja. Svi su oni otvorenog koda i popularni u zajednici znanstvenika podataka. Također ćemo usporediti popularne ML kao pružatelje usluga

Baklja

Torch je stara knjižnica strojnog učenja s otvorenim kodom. Prvi je put objavljen prije 15 godina. Primarni je programski jezik LUA, ali ima implementaciju u C. Uspoređujući PyTorch i TensorFlow, podržava veliku biblioteku algoritama strojnog učenja, uključujući duboko učenje. Podržava CUDA implementaciju za paralelno računanje.

Alat za duboko učenje s bakljama koristi većina vodećih laboratorija kao što su Facebook, Google, Twitter, Nvidia i tako dalje. Torch ima knjižnicu na Pythonu koja naziva Pytorch.

Infer.net

Infer.net razvija i održava Microsoft. Infer.net je knjižnica s primarnim fokusom na Bayesovu statistiku. Infer.net je alat za vizualizaciju dubokog učenja osmišljen kako bi praktičarima ponudio najmodernije algoritme za vjerojatnosno modeliranje. Knjižnica sadrži analitičke alate kao što su Bayesova analiza, skriveni Markovljev lanac, klasterizacija.

Keras

Keras je Python okvir za duboko učenje. Prikladna je knjižnica za konstrukciju bilo kojeg algoritma dubokog učenja. Prednost Kerasa je što koristi isti Python kôd za pokretanje na CPU ili GPU. Osim toga, okruženje za kodiranje je čisto i omogućuje treniranje vrhunskog algoritma za računalni vid, prepoznavanje teksta, između ostalog.

Keras je razvio François Chollet, istraživač u Googleu. Keras se koristi u istaknutim organizacijama poput CERN-a, Yelp-a, Square-a ili Googlea, Netflixa i Ubera.

Theano

Theano je knjižnica za duboko učenje koju je 2007. godine razvio Université de Montréal. Uspoređujući Theano i TensorFlow, nudi brza izračunavanja i može se pokretati na CPU i GPU. Theano je razvijen za obuku algoritama dubokih neuronskih mreža.

Microsoftov kognitivni alat (CNTK)

Microsoftov alat, od ranije poznat kao CNTK, knjižnica je dubokog učenja koju je razvio Microsoft. Prema Microsoftu, knjižnica je među najbržima na tržištu. Microsoftov alat je knjižnica otvorenog koda, iako ga Microsoft intenzivno koristi za svoje proizvode poput Skypea, Cortane, Binga i Xboxa. Komplet alata dostupan je i na Pythonu i na C ++.

MXNet

MXnet je nedavna knjižnica dubokog učenja. Dostupan je s više programskih jezika, uključujući C ++, Julia, Python i R. MXNet se može konfigurirati za rad i na CPU i na GPU. MXNet uključuje najsuvremeniju arhitekturu dubokog učenja kao što su Convolutional Neural Network i Long Short-Term Memory. MXNet je napravljen za rad u skladu s dinamičnom infrastrukturom u oblaku. Glavni korisnik MXNeta je Amazon

Caffe

Caffe je knjižnica koju je izgradio Yangqing Jia dok je bio doktorand na Berkeleyu. Uspoređujući Caffe i TensorFlow, Caffe je napisan na jeziku C ++ i može izvoditi proračune na CPU i GPU. Primarna upotreba Caffea je Convolutional Neural Network. Iako je 2017. Facebook proširio Caffe s dubljom arhitekturom učenja, uključujući rekurentnu neuronsku mrežu. Caffe koriste akademici i startupi, ali i neke velike tvrtke poput Yahoo !.

TensorFlow

TensorFlow je Googleov projekt otvorenog koda. TensorFlow je danas najpoznatija knjižnica dubokog učenja. Pušten je u javnost krajem 2015. godine

TensorFlow je razvijen na jeziku C ++ i ima prikladan Python API, iako su dostupni i C ++ API-ji. Istaknute tvrtke poput Airbusa, Googlea, IBM-a i tako dalje koriste TensorFlow za proizvodnju algoritama za dubinsko učenje.

TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Ključne razlike

Knjižnica Platforma Napisano u Cuda podrška Paralelno izvršavanje Ima obučene modele RNN CNN
Baklja Linux, MacOS, Windows Lua Da Da Da Da Da
Infer.Net Linux, MacOS, Windows Vizualni studio Ne Ne Ne Ne Ne
Keras Linux, MacOS, Windows Piton Da Da Da Da Da
Theano Unakrsna platforma Piton Da Da Da Da Da
TensorFlow Linux, MacOS, Windows, Android C ++, Python, CUDA Da Da Da Da Da
MICROSOFT KOGNITIVNI PRIRUČNIK Linux, Windows, Mac s Dockerom C ++ Da Da Da Da Da
Caffe Linux, MacOS, Windows C ++ Da Da Da Da Da
MXNet Linux, Windows, MacO, Android, iOS, Javascript C ++ Da Da Da Da Da

Presuda:

TensorFlow je najbolja knjižnica od svih jer je stvorena da bude dostupna svima. Biblioteka Tensorflow uključuje različite API-je za izgrađenu arhitekturu dubokog učenja poput CNN-a ili RNN-a. TensorFlow se temelji na izračunavanju grafova, a programeru omogućuje da vizualizira izgradnju neuronske mreže pomoću Tensorboada. Ovaj je alat koristan za otklanjanje pogrešaka u programu. Konačno, Tensorflow je izgrađen za primjenu u širokom opsegu. Radi na CPU i GPU.

Tensorflow privlači najveću popularnost na GitHubu u usporedbi s drugim knjižnicama dubokog učenja.

Usporedba strojnog učenja kao usluge

Slijede 4 popularna DL-a kao pružatelja usluga

Google Cloud ML

Google nudi unaprijed obučeni model za programere dostupan u Cloud AutoML-u. Ovo rješenje postoji za programere bez jakog iskustva u strojnom učenju. Programeri mogu na svojim podacima koristiti vrhunski unaprijed obučeni Googleov model. Omogućuje svim programerima da obuče i procijene bilo koji model u samo nekoliko minuta.

Google trenutno nudi REST API za računalni vid, prepoznavanje govora, prijevod i NLP.

Pomoću Google Cloud-a možete osposobiti okvir za strojno učenje izgrađen na TensorFlow-u, Scikit-learn-u, XGBoost-u ili Kerasu. Strojno učenje Google Cloud obučit će modele u svom oblaku.

Prednost upotrebe Googleovog računanja u oblaku je jednostavnost uvođenja strojnog učenja u proizvodnju. Nema potrebe za postavljanjem Docker spremnika. Osim toga, oblak se brine o infrastrukturi. Zna kako rasporediti resurse s CPU-ima, GPU-ima i TPU-ima. Učini trening bržim uz paralelno računanje.

AWS SageMaker

Glavni konkurent Google Cloudu je Amazon cloud, AWS. Amazon je razvio Amazon SageMaker kako bi znanstvenicima i programerima podataka omogućio izgradnju, obuku i proizvodnju svih modela strojnog učenja.

SageMaker dostupan je u Jupyterovoj bilježnici i uključuje najčešće korištenu knjižnicu strojnog učenja, TensorFlow, MXNet, Scikit-learn. Programi napisani SageMaker-om automatski se pokreću u spremnicima Dockera. Amazon rješava dodjelu resursa kako bi optimizirao obuku i implementaciju.

Amazon pruža API programerima kako bi njihovim aplikacijama dodao inteligenciju. U nekim prilikama nema potrebe za ponovnim pronalaženjem kotača gradeći od nule nove modele, dok u oblaku postoje moćni unaprijed obučeni modeli. Amazon nudi API usluge za računalni vid, razgovorne chatbote i jezične usluge:

Tri glavna dostupna API-ja su:

  • Amazon Rekogmination: pruža aplikaciju za prepoznavanje slike i videa
  • Amazon Comprehend: Izvršite rukovanje tekstom i obradu neuralnih jezika kako biste, na primjer, automatizirali postupak provjere zakonitosti financijskih dokumenata
  • Amazon Lex: dodajte chatbot u aplikaciju

Azure Studio za strojno učenje

Vjerojatno jedan od najprijaznijih pristupa strojnom učenju je Azure Machine Learning Studio. Značajna prednost ovog rješenja je u tome što nije potrebno prethodno znanje programiranja.

Microsoft Azure Studio za strojno učenje alat je za povlačenje i ispuštanje za stvaranje, obuku, procjenu i primjenu rješenja za strojno učenje. Model se može učinkovito implementirati kao web usluge i koristiti u nekoliko aplikacija poput Excel-a.

Sučelje Azure za strojno učenje interaktivno je, omogućavajući korisniku da izradi model brzim povlačenjem i ispuštanjem elemenata.

Kada je model spreman, programer ga može spremiti i gurnuti u Azure Gallery ili Azure Marketplace.

Azure Strojno učenje može se integrirati u R ili Python njihov prilagođeni ugrađeni paket.

IBM Watson ML

Watson studio može pojednostaviti podatkovne projekte pomoću pojednostavljenog postupka koji omogućuje izvlačenje vrijednosti i uvida iz podataka kako bi poduzeće postalo pametnije i brže. Watson studio nudi jednostavan za korištenje suradničke znanosti o podacima i okruženja za strojno učenje za izgradnju i obuku modela, pripremu i analizu podataka i dijeljenje uvida na jednom mjestu. Watson Studio jednostavan je za upotrebu s povuci i ispusti kodom.

Watson studio podržava neke od najpopularnijih okvira kao što su Tensorflow, Keras, Pytorch, Caffe i može primijeniti algoritam dubinskog učenja na najnovijim grafičkim procesorima Nvidia kako bi ubrzao modeliranje.

Presuda:

S našeg gledišta, najviše se preporučuje Googleovo rješenje u oblaku. Googleovo rješenje za oblak nudi niže cijene AWS-a za najmanje 30% za rješenje za pohranu podataka i strojno učenje. Google izvrsno radi na demokratizaciji AI. Razvio je jezik otvorenog koda, TensorFlow, optimiziranu vezu skladišta podataka, pruža ogromne alate od vizualizacije podataka, analize podataka do strojnog učenja. Osim toga, Google Console je ergonomski i mnogo je sveobuhvatniji od AWS-a ili Windows-a.