TensorFlow vs Theano vs Torch vs Keras: Biblioteka 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
Torch
Torch je stara biblioteka otvorenog koda za strojno učenje. Prvi put je objavljena prije 15 godina. Primarni programski jezik joj je LUA, ali postoji i implementacija u C-u. Uspoređujući PyTorch u odnosu na TensorFlow, podržava opsežnu biblioteku za algoritme strojnog učenja, uključujući duboko učenje. Podržava CUDA implementaciju za paralelno računanje.
TorAlat za duboko učenje ch koristi većina vodećih laboratorija poput Facebooka, 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, istraživač u GoogleKeras se koristi u istaknutim organizacijama poput CERN-a, Yelpa, Squarea 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 Google projekt otvorenog koda. TensorFlow je danas najpoznatija biblioteka za duboko učenje. Javnosti je dostupna krajem 2015.
TensorFlow je razvijen u C++ i ima prikladan Python API, iako C++ Dostupni su i API-ji. Istaknute tvrtke poput Airbusa, Google, IBM i tako dalje koriste TensorFlow za proizvodnju algoritama dubokog učenja.
TensorFlow u odnosu na Theano u odnosu na 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 |
|---|---|---|---|---|---|---|---|
| Torch | 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 natracts je najpopularnija 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 pruža prethodno obučen model za razvojne programere dostupan u Cloud AutoML-u. Ovo rješenje postoji za razvojne programere bez jakog iskustva u stroj za učenjeProgrameri mogu koristiti najsuvremeniju tehnologiju Googleprethodno obučeni model na njihovim podacima. Omogućuje svim programerima da obuče i procijene bilo koji model u samo nekoliko minuta.
Google trenutno pruža REST API za računalni vid, prepoznavanje govora, prevođenje 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 Računarstvo u oblaku je jednostavnost implementacije strojnog učenja u produkciju. Nema potrebe za postavljanjem Docker kontejnera. Osim toga, oblak se brine o infrastrukturi. Zna kako dodijeliti resurse CPU-ima, GPU-ima i TPU-ima. Ubrzava obuku 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 i omogućuje korisniku izradu modela jednostavnim povlačenjem i ispuštanjem.ping elementi brzo.
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 optimiziranim procesom koji omogućuje npr.tracIzvlačenje vrijednosti i uvida iz podataka kako bi se tvrtkama pomoglo da postanu pametnije i brže. Watson Studio pruža jednostavno okruženje za suradnju u znanosti o podacima i strojnom učenju za izgradnju i obuku modela, pripremu i analizu podataka te dijeljenje uvida, sve na jednom mjestu. Watson Studio je jednostavan za korištenje s kodom koji se pokreće metodom povlačenja i ispuštanja.
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 Rješenje u oblaku je ono koje se najviše preporučuje. Google Rješenje u oblaku nudi niže cijene od AWS-a za najmanje 30% za rješenja za pohranu podataka i strojno učenje. Google radi izvrstan posao na demokratizaciji umjetne inteligencije. Razvili su jezik otvorenog koda, TensorFlow, optimiziran skladište podataka veza, pruža izvrsne alate od vizualizacije podataka, analize podataka do strojnog učenja. Osim toga, Google Konzola je ergonomska i puno sveobuhvatnija od AWS-a ili Windows.






