TensorFlow vs Theano vs Torch vs Keras: Knjižnica dubokog učenja
Umjetna inteligencija postaje sve popularnija od 2016. s 20% velikih tvrtki koje koriste AI u svom poslovanju (McKinsey prijaviti, 2018). Prema istom izvješću AI može stvoriti značajnu vrijednost u različitim industrijama. U bankarstvu se, primjerice, potencijal umjetne inteligencije procjenjuje na $300 milijardi, u maloprodaji broj vrtoglavo raste $600 milijardi.
Kako 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 bibliotekama dostupnim za izvršavanje zadataka dubokog učenja. Neke biblioteke postoje već godinama, dok su se nove biblioteke poput TensorFlow pojavile posljednjih godina.
8 najboljih knjižnica/okvira za duboko učenje
Na ovom ćemo popisu usporediti najbolje okvire dubokog učenja. Svi su oni otvorenog koda i popularni u zajednici podatkovnih znanstvenika. Također ćemo usporediti popularni ML kao pružatelja usluga
Baklja
Torch je stara knjižnica za strojno učenje otvorenog koda. Prvi put je objavljen prije 15 godina. Primarni programski jezik je LUA, ali ima implementaciju u C. Uspoređujući PyTorch i TensorFlow, on podržava golemu biblioteku za algoritme strojnog učenja, uključujući duboko učenje. Podržava implementaciju CUDA za paralelno računanje.
Torch alat za dubinsko učenje koristi većina vodećih laboratorija kao što su Facebook, Google, Twitter, Nvidia i tako dalje. Torch ima knjižnicu u Python imena Pytorch.
Infer.net
Infer.net razvija i održava Microsoft. Infer.net je biblioteka s primarnim fokusom na Bayesovu statistiku. Infer.net je alat za vizualizaciju za duboko učenje dizajniran da praktičarima ponudi najsuvremenije algoritme za probabilističko modeliranje. Knjižnica sadrži analitički alati kao što su Bayesova analiza, skriveni Markovljev lanac, grupiranje.
Keras
Keras je a Python okvir za duboko učenje. To je praktična biblioteka za izradu bilo kojeg algoritma dubokog učenja. Prednost Kerasa je što koristi isti Python kod za pokretanje na CPU ili GPU. Osim toga, okolina kodiranja je čista i omogućuje obuku najsuvremenijeg algoritma za računalni vid, između ostalog prepoznavanje teksta.
Keras je razvio François Chollet, Googleov istraživač. Keras se koristi u istaknutim organizacijama kao što su CERN, Yelp, Square ili Google, Netflix, i Uber.
Theano
Theano je biblioteka dubokog učenja koju je 2007. razvilo Sveučilište u Montréalu. Uspoređujući Theano i TensorFlow, nudi brzo računanje i može se pokrenuti i na CPU-u i na GPU-u. Theano je razvijen za treniranje algoritama dubokih neuronskih mreža.
Microsoft Cognitive Toolkit (CNTK)
Microsoft toolkit, prethodno poznat kao CNTK, biblioteka je dubokog učenja koju je razvio Microsoft. Prema Microsoft, knjižnica je među najbržima na tržištu. Microsoft Toolkit je biblioteka otvorenog koda, iako Microsoft intenzivno ga koristi za svoje proizvode poput Skype, Cortana, Bing i Xbox. Komplet alata dostupan je u Python i C++.
MX Net
MXnet je novija 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-u i na GPU-u. MXNet uključuje najsuvremeniju arhitekturu dubokog učenja kao što je konvolucijska neuronska mreža i dugotrajna kratkoročna memorija. MXNet je izgrađen za rad harmony s dinamičkom infrastrukturom u oblaku. Glavni korisnik MXNeta je Amazon
Kava
Caffe je knjižnica koju je izgradio Yangqing Jia dok je bio doktorant na Berkeleyju. Uspoređujući Caffe i TensorFlow, Caffe je napisan u C++ i može izvoditi računanje na CPU i GPU. Primarna upotreba Caffea je konvolucijska neuronska mreža. Iako je 2017. Facebook proširio Caffe arhitekturom dubljeg učenja, uključujući Recurrent Neural Network. Caffe koriste akademici i startupi, ali i neke velike tvrtke poput Yahooa!.
TensorFlow
TensorFlow je Googleov projekt otvorenog koda. TensorFlow je najpoznatija knjižnica dubokog učenja ovih dana. Javnosti je pušten krajem 2015. godine
TensorFlow je razvijen u C++ i ima prikladan Python API, iako C++ API-ji su također dostupni. Istaknute tvrtke poput Airbusa, Googlea, IBM i tako dalje koriste TensorFlow za proizvodnju algoritama dubokog učenja.
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 izvođenje | Ima obučene modele | RNN | CNN |
---|---|---|---|---|---|---|---|
Baklja | Linux macOS, Windows | Lua | Da | Da | Da | Da | Da |
Infer.Net | Linux macOS, Windows | Visual Studio | Ne | Ne | Ne | Ne | Ne |
Keras | Linux macOS, Windows | Python | Da | Da | Da | Da | Da |
Theano | Cross-platforma | Python | Da | Da | Da | Da | Da |
TensorFlow | Linux macOS, Windows, Android | C++, Python, CUDA | Da | Da | Da | Da | Da |
MICROSOFT KOGNITIVNI ALAT | Linux Windows, Mac s Dockerom | C++ | Da | Da | Da | Da | Da |
Kava | Linux macOS, Windows | C++ | Da | Da | Da | Da | Da |
MX Net | Linux Windows, macOS, Android, IOS, Javascript | C++ | Da | Da | Da | Da | Da |
Presuda
TensorFlow je najbolja biblioteka od svih jer je napravljena da bude dostupna svima. Biblioteka Tensorflow uključuje različite API-je za izgrađenu arhitekturu dubokog učenja na skali poput CNN-a ili RNN-a. TensorFlow se temelji na izračunavanju grafikona, omogućuje razvojnom programeru vizualizaciju konstrukcije neuronske mreže s Tenzorska ploča. Ovaj alat je koristan za otklanjanje pogrešaka programa. Naposljetku, Tensorflow je napravljen za primjenu u velikom broju. Radi na CPU i GPU.
Tensorflow privlači najveću popularnost na GitHubu u usporedbi s drugim bibliotekama za duboko učenje.
Usporedba strojnog učenja kao usluge
Slijede 4 popularna DL-a kao pružatelja usluga
Google Cloud ML
Google za razvojne programere nudi prethodno obučeni model dostupan u Cloud AutoML-u. Ovo rješenje postoji za programere bez jakog iskustva stroj za učenje. Razvojni programeri mogu koristiti najsuvremeniji Googleov unaprijed obučeni model na svojim podacima. Omogućuje programerima obuku i procjenu bilo kojeg modela u samo nekoliko minuta.
Google trenutno nudi REST API za računalni vid, prepoznavanje govora, prijevod i NLP.
Korištenje Google Cloud, možete trenirati okvir za strojno učenje izgrađen na TensorFlowu, Scikit-learn, XGBoost ili Keras. Google Cloud strojno učenje obučavat će modele u svom oblaku.
Prednost korištenja Google cloud computinga je jednostavnost postavljanja strojnog učenja u proizvodnju. Nema potrebe za postavljanjem Docker spremnika. Osim toga, oblak se brine za infrastrukturu. Zna kako dodijeliti resurse pomoću CPU-a, GPU-a i TPU-a. To čini obuku bržom s paralelnim računanjem.
AWS SageMaker
Glavni konkurent za Google Cloud is Amazon oblak, AWS. Amazon razvio Amazon SageMaker omogućuje znanstvenicima i programerima podataka da izgrade, obuče i uvedu u proizvodnju sve modele strojnog učenja.
SageMaker je dostupan u a Jupyter Notebook i uključuje najčešće korištenu biblioteku strojnog učenja, TensorFlow, MXNet, Scikit-learn među ostalima. Programi napisani pomoću SageMakera automatski se pokreću u Docker spremnicima. Amazon upravlja raspodjelom resursa za optimizaciju obuke i raspoređivanja.
Amazon pruža API programerima kako bi dodali inteligenciju svojim aplikacijama. U nekim prilikama nema potrebe za izmišljanjem kotača izgradnjom novih modela od nule dok postoje moćni unaprijed obučeni modeli u oblaku. Amazon pruža API usluge za računalni vid, razgovorne chatbotove i jezične usluge:
Tri glavna dostupna API-ja su:
- Amazon Prepoznavanje: aplikaciji omogućuje prepoznavanje slika i videa
- Amazon Shvatiti: Provedite rudarenje teksta i neuronsku jezičnu obradu kako biste, na primjer, automatizirali proces provjere zakonitosti financijskog dokumenta
- Amazon Lex: Dodajte chatbot u aplikaciju
Azure Studio za strojno učenje
Vjerojatno jedan od najprijateljskijih pristupa strojnom učenju jest Azure Studio za strojno učenje. Značajna prednost ovog rješenja je što nije potrebno predznanje programiranja.
Microsoft Azure Machine Learning Studio alat je za suradnju povuci i ispusti za stvaranje, obuku, procjenu i implementaciju rješenja za strojno učenje. Model se može učinkovito implementirati kao web usluge i koristiti u nekoliko aplikacija poput Excela.
Azure Sučelje strojnog učenja je interaktivno, dopuštajući korisniku da izgradi model samo brzim povlačenjem i ispuštanjem elemenata.
Kada je model spreman, programer ga može spremiti i poslati Azure Galerija or Azure Tržište.
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 s pojednostavljenim procesom koji omogućuje izvlačenje vrijednosti i uvida iz podataka kako bi pomogao poslovanju da postane pametnije i brže. Watson studio pruža okruženje za kolaborativnu znanost o podacima i strojno učenje jednostavno za korištenje za izradu i obuku modela, pripremu i analizu podataka i dijeljenje uvida, sve na jednom mjestu. Watson Studio jednostavan je za korištenje s kodom za povlačenje i ispuštanje.
Watson studio podržava neke od najpopularnijih okvira kao što su Tensorflow, Keras, Pytorch, Caffe i može implementirati algoritam dubokog učenja na najnovijim Nvidijinim GPU-ima kako bi se ubrzalo modeliranje.
Presuda
S naše točke gledišta, Google cloud rješenje je ono koje se najviše preporučuje. Googleovo rješenje za oblak pruža niže cijene AWS-a za najmanje 30% za pohranu podataka i rješenje za strojno učenje. Google radi izvrstan posao na demokratizaciji umjetne inteligencije. Razvio je jezik otvorenog koda, TensorFlow, optimiziran skladište podataka povezivanje, pruža izvrsne alate od vizualizacije podataka, analize podataka do strojnog učenja. Osim toga, Google Console je ergonomska i puno sveobuhvatnija od AWS ili Windows.