Ef þú ert að lesa þetta hefurðu eflaust þegar hafið ferð þína í djúpt nám. Ef þú ert nýr í þessu efni, er djúpt nám viðbót sem notar einstök heilalík mannvirki sem kallast gervi tauganet til að smíða mannslíkar tölvur sem takast á við raunveruleg vandamál.
Til að aðstoða við þróun þessarar hönnunar hafa tækniframleiðendur eins og Google, Facebook og Uber þróað margs konar ramma fyrir Python djúpnámsumhverfið, sem gerir það einfaldara að skilja, búa til og þjálfa fjölbreytt tauganet.
Djúpnámsrammi er hugbúnaður sem fræðimenn og gagnafræðingar nota til að búa til og þjálfa djúpnámslíkön.
Markmið þessara ramma er að gera einstaklingum kleift að þjálfa módel sín án þess að þurfa að skilja tæknina á bakvið djúpt nám, taugakerfi og vélanám.
Með forritunarviðmóti á háu stigi veita þessir rammar byggingareiningar til að smíða, þjálfa og sannreyna líkön.
Við skoðum TensorFlow, Keras, Apache MXNet, Microsoft CNTK og DeepLearing4j sem valkosti við PyTorch, sem er mikið notaður djúpnámsramma.
Hvað er Pytorch?
PyTorch er ókeypis, opinn vélanámssafn byggt með Torch Python bókasafninu.
Það var búið til af AI rannsóknarhópi Facebook og gefið út sem ókeypis og opinn uppspretta bókasafn í janúar 2016 með forritum í tölvusjón, djúpnámi og náttúrulegri málvinnslu.
Það hefur bráðnauðsynlegt og Pythonic forritunarmál sem styður kóða sem fyrirmynd, auðveldar villuleit og er samhæft við önnur vinsæl vísindatölvusöfn, allt á sama tíma og það er skilvirkt og gerir vélbúnaðarhröðlum eins og GPU kleift.
PyTorch hefur vaxið í vinsældum meðal djúpnámsrannsakenda þökk sé áherslu sinni á notagildi og ítarlegar skoðanir um frammistöðu.
Það inniheldur grunngagnauppbyggingu, Tensor, sem er fjölvíddarfylki svipað og Numpy fylki, sem gerir forriturum kleift að hanna flókið tauga net.
Það er að verða vinsælli í núverandi geirum og í fræðasamfélaginu vegna sveigjanleika, hraða og auðveldrar framkvæmdar, sem gerir það að einu vinsælasta djúpnámsverkfærinu.
Pytorch lykileiginleikar
- PyTorch er Python-miðlægt, eða „pythonic,“ að því leyti að það er ætlað til djúprar samþættingar við Python forritun frekar en að þjóna sem viðmóti við bókasafn sem er þróað á öðru tungumáli.
- Einfalt að læra – PyTorch fylgir sömu uppbyggingu og hefðbundin forritun og hefur verið vandlega skjalfest, þar sem þróunarsamfélagið reynir alltaf að bæta það. Það er því einfalt að læra fyrir bæði forritara og ekki forritara.
- PyTorch getur skipt tölvuvinnu yfir nokkra örgjörva eða GPU kjarna sem notar samhliða gagnagetu. Þó að hægt sé að ná svipuðum samsvörun með öðrum vélanámsaðferðum, gerir PyTorch það miklu auðveldara.
- Villuleit: Eitt af fjölmörgum víða aðgengilegum Python kembiverkfærum (til dæmis pdb og ipdb verkfæri Python) er hægt að nota til að kemba PyTorch.
- PyTorch styður kraftmikið reiknigraf, sem gefur til kynna að hægt sé að breyta hegðun netsins á kraftmikinn hátt meðan á keyrslutíma stendur.
- PyTorch kemur með ýmsum sérbúnum einingum, svo sem kyndilstexti, kyndilsýn og kyndilhljóð, sem hægt er að nota til að takast á við fjölbreytt svið djúpnáms, svo sem NLP, tölvusjón og raddvinnslu.
Pytorch takmarkanir
- Takmörkuð vöktunar- og sjónsviðmót: Þó TensorFlow inniheldur öflugt sjónrænt tól til að búa til líkangrafið (TensorBoard), skortir PyTorch þennan eiginleika eins og er. Fyrir vikið geta verktaki tengst TensorBoard að utan eða notað einn af fjölmörgum núverandi Python verkfæri til gagnaáhorfs.
- PyTorch er ekki enda til enda vél nám þróunarvettvangur; það dreifir forritum á netþjóna, vinnustöðvar og farsíma.
Af öllum þessum ástæðum væri skynsamleg ákvörðun að leita að bestu kostunum við Pytorch.
Vinsælustu Pytorch valkostirnir
Hér er listi yfir bestu valkostina við Pytorch.
1. Tensorflow
TensorFlow er opinn uppspretta rammi sem miðar að djúpum námi og búin til af Google. Það styður einnig staðlaða vél nám. TensorFlow var hannað með stóra tölulega útreikninga í huga, frekar en djúpt nám.
Ennfremur reyndist það vera mjög dýrmætt fyrir þróun djúpnáms, svo Google gerði það aðgengilegt ókeypis. TensorFlow tekur gögn í formi fjölvíddar fylkja með stærri víddum, þekkt sem tensor. Þegar tekist er á við gífurlegt magn af gögnum koma fjölvíddar fylkingar að gagni.
TensorFlow er byggt á línuritum um gagnaflæði á hnút. Vegna þess að framkvæmdaraðferðin er í formi línurita er miklu auðveldara að keyra TensorFlow kóða yfir tölvuþyrpingu meðan þú notar GPU.
C#, Haskell, Julia, R, Ruby, Rust og Scala eru meðal þeirra tungumála sem TensorFlow samfélag hefur skapað stuðning fyrir. TensorFlow býður upp á þann ávinning að hafa mikinn fjölda aðgangsstaða.
Fyrir utan tungumál, hefur TensorFlow mikið úrval af verkfærum sem tengjast því eða eru byggð ofan á það.
Kostir
- Það er notendavænt. Ef þú þekkir Python, þá er auðvelt að taka það upp.
- Stuðningur frá samfélaginu. TensorFlow er endurbætt nánast á hverjum degi af Google og sérfræðingum annarra stofnana.
- TensorFlow Lite er hægt að nota til að keyra TensorFlow módel á farsímum.
- Tensorboard er tæki til að fylgjast með og sjónræn gögn. Ef þú vilt horfa á djúpnámslíkönin þín í aðgerð er þetta frábært tæki til að nota.
- Tensorflow.js gerir þér kleift að nota JavaScript til að keyra rauntíma djúpnámslíkön í vafranum.
Ókostir
- TensorFlow hefur einstaka uppbyggingu, sem gerir það erfiðara að uppgötva og kemba villur.
- Það er enginn OpenCL stuðningur.
- TensorFlow býður ekki upp á marga möguleika fyrir notendur Windows stýrikerfisins. Það opnar ofgnótt af möguleikum fyrir Linux notendur. Hins vegar geta Windows notendur samt hlaðið niður TensorFlow með því að nota anaconda hvetja eða pip pakkann.
- TensorFlow fellur á eftir hvað varðar að bjóða upp á táknrænar lykkjur fyrir óákveðnar raðir. Það hefur sérstaka notkun fyrir tilteknar raðir, sem gerir það að nothæfu kerfi. Fyrir vikið er litið á það sem API á lágu stigi.
2. Keras
Keras er Python-undirstaða djúpnámssafn, sem aðgreinir það frá öðrum djúpnámsramma.
Það er forritunarmál á háu stigi sem skilgreinir a tauga net API skilgreining. Það er bæði hægt að nota sem notendaviðmót og til að bæta getu djúpnámsrammana sem það keyrir á.
Þetta er mínimalísk umgjörð sem er létt og auðveld í notkun. Af þessum ástæðum er Keras hluti af kjarna API TensorFlow. Keras framhlið gerir kleift að búa til hraðvirka frumgerð taugakerfislíkana í rannsóknum.
API er einfalt að átta sig á og nota, með þeim bónus að leyfa líkön að vera auðveldlega flutt á milli ramma.
Kostir
- Keras API er einfalt í notkun. API er vel hannað, hlutbundið og aðlögunarhæft, sem leiðir til ánægjulegra notendaupplifunar.
- Stuðningur við dreifða þjálfun og samhliða samsvörun með mörgum GPU er innbyggður.
- Keras er innfæddur eining í Python sem veitir einfaldan aðgang að öllu Python gagnafræðiumhverfinu. Keras líkön, til dæmis, er hægt að nota með því að nota Python scikit-learn API.
- Keras inniheldur forþjálfaðar lóðir fyrir nokkur djúpnámslíkön. Við getum notað þessi líkön beint til að gera spár eða draga út eiginleika.
Ókostir
- Það getur verið ótrúlega pirrandi að fá vandamál á lágu stigi með reglulegu millibili. Þessi vandamál koma upp þegar við reynum að gera verkefni sem Keras var ekki ætlað að framkvæma.
- Í samanburði við bakenda þess gæti það verið tregt á GPU og tekið lengri tíma að reikna út. Þar af leiðandi gætum við þurft að skerða hraða til að vera notendavænni.
- Í samanburði við aðra pakka eins og Sci-kit-learn, þá er Keras gagnaforvinnslugeta ekki eins aðlaðandi.
3. Apache MX net
Annað áberandi Deep Learning rammi er MXNet. MXNet, sem var búið til af Apache Software Foundation, styður ýmis tungumál, þar á meðal JavaScript, Python og C++.
Amazon Web Services styður einnig MXNet við þróun djúpnámslíkana. Það er ákaflega stigstærð, sem gerir kleift að þjálfa módel hratt, og það er samhæft við margs konar tölvutungumál.
Til að hámarka hraða og framleiðni, gerir MXNet þér kleift að blanda saman táknrænum og mikilvægum forritunarmálum. Það er byggt á kraftmiklum ávanaáætlun sem gerir samhliða táknrænum og nauðsynlegum athöfnum í rauntíma.
Ofan á það gerir línurit fínstillingarlag táknræna framkvæmd hraðvirka og minni hagkvæmt. MXNet er flytjanlegt og létt bókasafn.
Það er knúið af NVIDIA PascalTM GPU og skalanlegt yfir nokkra GPU og hnúta, sem gerir þér kleift að þjálfa módel hraðar.
Kostir
- Styður GPU og hefur multi-GPU ham.
- Duglegur, skalanlegur og leiftursnöggur.
- Allir helstu pallar eru um borð.
- Birting líkana er einföld og API er hratt.
- Scala, R, Python, C++ og JavaScript eru meðal forritunarmála sem studd eru.
Ókostir
- MXNet er með minni opinn uppspretta samfélag en TensorFlow.
- Endurbætur, villuleiðréttingar og aðrar endurbætur taka lengri tíma í innleiðingu vegna skorts á verulegum stuðningi samfélagsins.
- MxNet, þó að það sé mikið starfandi hjá fjölmörgum fyrirtækjum í upplýsingatækniiðnaðinum, er ekki eins vel þekkt og Tensorflow.
4. Microsoft CNTK
Microsoft Cognitive Toolkit (CNTK) er viðskiptalega hagkvæmur opinn rammi fyrir dreifð djúpt nám. Það er almennt notað til að búa til taugakerfi, en einnig er hægt að nota fyrir vélanám og vitræna tölvuvinnslu.
Það styður ýmis tungumál og er einfalt í notkun í skýinu. Vegna þessara eiginleika er CNTK hentugur fyrir margs konar gervigreind forrit. Þó að við getum notað C++ til að kalla fram aðgerðir þess, þá er algengasti kosturinn að nota Python forrit.
Þegar keyrt er á nokkrum tölvum er viðurkennt að Microsoft Cognitive Toolkit gefur betri afköst og sveigjanleika en verkfærasett eins og Theano eða TensorFlow.
Microsoft Cognitive Toolkit styður bæði RNN og CNN taugalíkön, sem gerir það hentugt fyrir mynd, rithönd og talgreiningarverkefni.
Kostir
- Einfalt að samþætta Apache Spark, gagnagreiningarvél.
- Sveigjanleiki CNTK hefur gert það að vinsælu vali í mörgum fyrirtækjum. Það eru nokkrir bjartsýni íhlutir.
- Býður upp á stöðuga og góða frammistöðu.
- Virkar vel með Azure Cloud, sem bæði eru studd af Microsoft.
- Auðlindanýting og stjórnun er skilvirk.
Ókostir
- Í samanburði við Tensorflow er minni stuðningur samfélagsins.
- Brattur námsferill.
- Það vantar sjónrænt borð sem og ARM stuðning.
5. DeepLearning4j
Ef Java er aðal forritunarmálið þitt er DeepLearning4j góður rammi til að nota. Það er dreifð djúpnámsbókasafn sem er í viðskiptalegum gæðaflokki og opið uppspretta.
Allar helstu gerðir af tauganethönnun, svo sem RNN og CNN, eru studdar. Deeplearning4j er Java og Scala bókasafn fyrir djúpt nám.
Það virkar líka vel með Hadoop og Apache Spark. Deeplearning4j er dásamlegur valkostur fyrir Java-undirstaða djúpnámslausnir vegna þess að það styður einnig GPU.
Þegar kemur að Eclipse Deeplearning4j djúpnámsrammanum, þá eru sumir af áberandi eiginleikum samhliða þjálfun með endurteknum lækkunum, aðlögun örþjónustuarkitektúrs og dreifðum örgjörva og GPU.
Kostir
- Það hefur framúrskarandi skjöl og samfélagshjálp.
- Apache Spark samþættingin er einföld.
- Það er skalanlegt og getur meðhöndlað gríðarlegt magn af gögnum.
Ókostir
- Í samanburði við Tensorflow og PyTorch er það minna vinsælt.
- Java er eina forritunarmálið sem til er.
Niðurstaða
Það er erfitt verkefni að velja besta djúpnámsramma. Meira svo þar sem þeir eru svo margir, er listinn að stækka eins og eftirspurn eftir gervigreind rannsóknir og vélanámsforrit vaxa. Hver rammi hefur sitt eigið sett af kostum og göllum.
Taka verður tillit til ýmissa, þar á meðal öryggi, sveigjanleika og frammistöðu. Í fyrirtækjakerfum verður áreiðanleiki enn mikilvægari.
Ef þú ert rétt að byrja, er Tensorflow góður staður til að byrja. Veldu CNTK ef þú ert að þróa viðskiptavöru sem byggir á Windows. Ef þú vilt Java, notaðu DL4J.
Skildu eftir skilaboð