Ogrodje za globoko učenje je sestavljeno iz kombinacije vmesnikov, knjižnic in orodij za hitro in natančno definiranje in usposabljanje modelov strojnega učenja.
Ker globoko učenje uporablja veliko količino nestrukturiranih, nebesedilnih podatkov, potrebujete ogrodje, ki nadzoruje interakcijo med »plastmi« in omogoča hiter razvoj modela z učenjem iz vhodnih podatkov in sprejemanjem avtonomnih odločitev.
Če vas zanima učenje o poglobljenem učenju v letu 2021, razmislite o uporabi enega od spodaj navedenih okvirov. Ne pozabite izbrati tistega, ki vam bo pomagal doseči vaše cilje in vizijo.
1. TensorFlow
Ko govorimo o globokem učenju, TensorFlow je pogosto prvi omenjeni okvir. Zelo priljubljenega ogrodja ne uporablja samo Google – podjetje, ki je odgovorno za njegov nastanek – ampak tudi druga podjetja, kot so Dropbox, eBay, Airbnb, Nvidia in mnoga druga.
TensorFlow se lahko uporablja za razvoj API-jev visoke in nizke ravni, kar vam omogoča izvajanje aplikacij na skoraj vseh vrstah naprav. Čeprav je Python njegov primarni jezik, je do vmesnika Tensoflow mogoče dostopati in ga nadzorovati z drugimi programskimi jeziki, kot so C++, Java, Julia in JavaScript.
Ker je TensorFlow odprtokoden, vam omogoča več integracij z drugimi API-ji ter hitro podporo in posodobitve skupnosti. Njegovo zanašanje na "statične grafe" za računanje vam omogoča takojšnje izračune ali shranjevanje operacij za dostop ob drugem času. Zaradi teh razlogov in možnosti, da lahko »gledate« razvoj svoje nevronske mreže prek TensorBoarda, je TensorFlow najbolj priljubljen okvir za globoko učenje.
Ključne funkcije
- Open-source
- prilagodljivost
- Hitro odpravljanje napak
2. PyTorch
PyTorch je ogrodje, ki ga je razvil Facebook za podporo delovanja svojih storitev. Odkar je postalo odprtokodno, to ogrodje uporabljajo tudi druga podjetja poleg Facebooka, kot sta Salesforce in Udacity.
To ogrodje upravlja z dinamično posodobljenimi grafi, kar vam omogoča spreminjanje arhitekture nabora podatkov, ko ga obdelujete. S PyTorchom je lažje razviti in učiti nevronsko mrežo, tudi brez izkušenj z globokim učenjem.
Ker ste odprtokodni in temeljite na Pythonu, lahko naredite preproste in hitre integracije v PyTorch. Je tudi preprosto ogrodje za učenje, uporabo in odpravljanje napak. Če imate vprašanja, se lahko zanesete na odlično podporo in posodobitve obeh skupnosti – skupnosti Python in skupnosti PyTorch.
Ključne funkcije
- Enostaven za učenje
- Podpira GPE in CPU
- Bogat nabor API-jev za razširitev knjižnic
3. Apache MX Net
Zaradi visoke razširljivosti, visoke zmogljivosti, hitrega odpravljanja težav in napredne podpore GPU je Apache ustvaril to ogrodje za uporabo v velikih industrijskih projektih.
MXNet vključuje vmesnik Gluon, ki razvijalcem vseh ravni znanja omogoča začnite z globokim učenjem v oblaku, na robnih napravah in v mobilnih aplikacijah. V samo nekaj vrsticah kode Gluon lahko zgradite linearno regresijo, konvolucijska omrežja in ponavljajoče se LSTM-je za odkrivanje predmetov, prepoznavanje govora, priporočila in personalizacija.
MXNet je mogoče uporabljati na različnih napravah in ga podpira več programskih jezikov kot so Java, R, JavaScript, Scala in Go. Čeprav je število uporabnikov in članov v njegovi skupnosti majhno, ima MXNet dobro napisano dokumentacijo in velik potencial za rast, zlasti zdaj, ko je Amazon to ogrodje izbral kot primarno orodje za strojno učenje na AWS.
Ključne funkcije
- 8 jezikovnih vezav
- Porazdeljeno usposabljanje, ki podpira sisteme z več CPU in več GPU
- Hibridni vmesnik, ki omogoča preklapljanje med imperativnim in simbolnim načinom
4. Microsoftov kognitivni priročnik
Če razmišljate o razvoju aplikacij ali storitev, ki delujejo na Azure (Microsoftove storitve v oblaku), je Microsoft Cognitive Toolkit ogrodje, ki ga lahko izberete za svoje projekte globokega učenja. To je odprtokodno in med drugim podpirajo programski jeziki, kot so Python, C++, C#, Java. To ogrodje je zasnovano tako, da "razmišlja kot človeški možgani", tako da lahko obdeluje velike količine nestrukturiranih podatkov, hkrati pa ponuja hitro usposabljanje in intuitivno arhitekturo.
Z izbiro tega ogrodja – istega za Skypeom, Xboxom in Cortano – boste zagotovili dobro zmogljivost svojih aplikacij, razširljivost in preprosto integracijo z Azure. Vendar pa je v primerjavi s TensorFlow ali PyTorch število članov v njegovi skupnosti in podpora zmanjšana.
Naslednji video ponuja popoln uvod in primere uporabe:
Ključne funkcije
- Jasna dokumentacija
- Podpora Microsoftove ekipe
- Neposredna vizualizacija grafa
5. Keras
Tako kot PyTorch je tudi Keras knjižnica, ki temelji na Pythonu, za projekte, ki zahtevajo veliko podatkov. Keras API deluje na visoki ravni in omogoča integracije z API-ji nizke ravni, kot so TensorFlow, Theano in Microsoft Cognitive Toolkit.
Nekatere prednosti uporabe keras so njegova preprostost učenja – kot priporočeno ogrodje za začetnike pri globokem učenju; njegova hitrost uvajanja; ima veliko podporo skupnosti python in skupnosti drugih ogrodij, s katerimi je integriran.
Keras vsebuje različne izvedbe gradniki nevronskih mrež kot so plasti, ciljne funkcije, aktivacijske funkcije in matematični optimizatorji. Njegova koda gostuje na GitHubu, obstajajo pa tudi forumi in kanal za podporo Slack. Poleg podpore za standard nevronske mrežeKeras ponuja podporo za konvolucijske nevronske mreže in ponavljajoče se nevronske mreže.
Keras dovoljuje modeli globokega učenja ki jih je mogoče ustvariti na pametnih telefonih v sistemu iOS in Android, na virtualnem stroju Java ali na spletu. Omogoča tudi uporabo porazdeljenega usposabljanja modelov globokega učenja na grozdih grafičnih procesnih enot (GPU) in tenzorskih procesnih enot (TPU).
Ključne funkcije
- Vnaprej usposobljeni modeli
- Podpora za več zaledij
- Uporabniku prijazna in velika podpora skupnosti
6. Apple Core ML
Core ML je razvil Apple za podporo svojemu ekosistemu – IOS, Mac OS in iPad OS. Njegov API deluje na nizki ravni in dobro izkorišča vire procesorja in grafičnega procesorja, kar omogoča, da ustvarjeni modeli in aplikacije delujejo tudi brez internetne povezave, kar zmanjša »pomnilniški odtis« in porabo energije naprave.
Način, na katerega Core ML to doseže, ni ravno izdelava še ene knjižnice strojnega učenja, ki je optimizirana za delovanje na iphoneih/ipadih. Namesto tega je Core ML bolj podoben prevajalniku, ki vzame specifikacije modela in usposobljene parametre, izražene z drugo programsko opremo za strojno učenje, in jih pretvori v datoteko, ki postane vir za aplikacijo iOS. Ta pretvorba v model Core ML se zgodi med razvojem aplikacije, ne v realnem času, ko se aplikacija uporablja, in jo omogoča knjižnica python coremltools.
Core ML zagotavlja hitro delovanje z enostavno integracijo strojno učenje modelov v aplikacije. Podpira globoko učenje z več kot 30 vrstami slojev kot tudi odločitvenimi drevesi, podpornimi vektorskimi stroji in metodami linearne regresije, vse zgrajeno na vrhu tehnologij nizke ravni, kot sta Metal in Accelerate.
Ključne funkcije
- Enostavna integracija v aplikacije
- Optimalna uporaba lokalnih virov, ki ne potrebujejo dostopa do interneta
- Zasebnost: podatkom ni treba zapustiti naprave
7. ONNX
Zadnji okvir na našem seznamu je ONNX. To ogrodje je nastalo v sodelovanju med Microsoftom in Facebookom s ciljem poenostavitve procesa prenosa in gradnje modelov med različnimi ogrodji, orodji, izvajalnimi okolji in prevajalniki.
ONNX definira skupno vrsto datoteke, ki se lahko izvaja na več platformah, hkrati pa izkorišča prednosti API-jev nizke ravni, kot so tisti iz Microsoft Cognitive Toolkit, MXNet, Caffe in (z uporabo pretvornikov) Tensorflow in Core ML. Načelo za ONNX je usposobiti model na skladu in ga implementirati z drugimi sklepi in napovedmi.
LF AI Foundation, podorganizacija Linux Foundation, je organizacija, namenjena izgradnji ekosistema za podporo open-source inovacije na področju umetne inteligence (AI), strojnega učenja (ML) in globokega učenja (DL). Dodal je ONNX kot projekt na podiplomski ravni 14. novembra 2019. Ta selitev ONNX pod okrilje fundacije LF AI je veljala za pomemben mejnik pri vzpostavitvi ONNX kot standarda odprtega formata, nevtralnega glede prodajalca.
ONNX Model Zoo je zbirka vnaprej usposobljenih modelov za globoko učenje, ki so na voljo v formatu ONNX. Za vsak model obstajajo Jupyterjeve zvezke za usposabljanje modela in izvajanje sklepanja z izurjenim modelom. Zvezki so napisani v Pythonu in vsebujejo povezave do nabor podatkov za usposabljanje in sklicevanja na izvirni znanstveni dokument, ki opisuje arhitekturo modela.
Ključne funkcije
- Interoperabilnost ogrodja
- Optimizacija strojne opreme
zaključek
To je povzetek najboljših okvirov za globoko učenje. Za ta namen obstaja več ogrodij, brezplačnih ali plačljivih. Če želite izbrati najboljše za svoj projekt, najprej veste, za katero platformo boste razvijali svojo aplikacijo.
Splošna ogrodja, kot sta TensorFlow in Keras, so najboljše možnosti za začetek. Če pa morate uporabiti prednosti, specifične za operacijski sistem ali napravo, sta morda najboljši možnosti Core ML in Microsoft Cognitive Toolkit.
Obstajajo tudi drugi okviri, namenjeni napravam Android, drugim strojem in posebnim namenom, ki niso bili omenjeni na tem seznamu. Če vas zanima slednja skupina, predlagamo, da poiščete njihove podatke v Googlu ali drugih spletnih mestih za strojno učenje.
Pustite Odgovori