Süvaõppe raamistik koosneb liideste, teekide ja tööriistade kombinatsioonist masinõppe mudelite kiireks ja täpseks määratlemiseks ja koolitamiseks.
Kuna süvaõpe kasutab suurel hulgal struktureerimata mittetekstuaalseid andmeid, vajate raamistikku, mis kontrollib "kihtide" vahelist suhtlust ja muudab mudeli arendamise kiireks, õppides sisendandmetest ja tehes autonoomseid otsuseid.
Kui olete huvitatud süvaõppe õppimisest 2021. aastal, kaaluge ühe alltoodud raamistiku kasutamist. Ärge unustage valida üks, mis aitab teil oma eesmärke ja visiooni saavutada.
1. TensorFlow
Kui rääkida sügavast õppimisest, TensorFlow on sageli esimene mainitud raamistik. Seda väga populaarset raamistikku ei kasuta mitte ainult Google – selle loomise eest vastutav ettevõte –, vaid ka teised ettevõtted, nagu Dropbox, eBay, Airbnb, Nvidia ja paljud teised.
TensorFlow'd saab kasutada kõrge ja madala taseme API-de arendamiseks, võimaldades teil käivitada rakendusi peaaegu igat tüüpi seadmetes. Kuigi Python on selle põhikeel, saab Tensoflow liidesele juurde pääseda ja seda juhtida teiste programmeerimiskeelte (nt C++, Java, Julia ja JavaScript) abil.
Kuna TensorFlow on avatud lähtekoodiga, võimaldab see teil teha mitmeid integratsioone teiste API-dega ning saada kogukonnalt kiiret tuge ja värskendusi. Selle toetumine arvutamisel "staatilistele graafikutele" võimaldab teil teha koheseid arvutusi või salvestada toiminguid muul ajal juurdepääsuks. Need põhjused, mis lisavad võimalusele, et saate TensorBoardi kaudu oma närvivõrgu arengut "jälgida", muudavad TensorFlow kõige populaarsemaks süvaõppe raamistikuks.
Põhijooned
- Avatud lähtekoodiga
- Paindlikkus
- Kiire silumine
2. PyTorch
PyTorch on Facebooki välja töötatud raamistik, mis toetab oma teenuste toimimist. Alates avatud lähtekoodiga raamistikust on seda raamistikku kasutanud ka muud ettevõtted peale Facebooki, nagu Salesforce ja Udacity.
See raamistik kasutab dünaamiliselt värskendatud graafikuid, mis võimaldab teil muuta andmestiku arhitektuuri selle töötlemise ajal. PyTorchiga on närvivõrku lihtsam arendada ja treenida isegi ilma sügava õppimise kogemuseta.
Kuna see on avatud lähtekoodiga ja põhineb Pythonil, saate PyTorchiga hõlpsalt ja kiiresti integreerida. See on ka lihtne raamistik õppimiseks, kasutamiseks ja silumiseks. Kui teil on küsimusi, võite loota mõlema kogukonna – Pythoni kogukonna ja PyTorchi kogukonna – suurele toele ja uuendustele.
Põhijooned
- Lihtne õppida
- Toetab GPU-d ja CPU-d
- Rikkalik API-de komplekt teekide laiendamiseks
3. Apache MX Net
Tänu suurele skaleeritavusele, suurele jõudlusele, kiirele tõrkeotsingule ja täiustatud GPU-toele lõi Apache selle raamistiku kasutamiseks suurtes tööstusprojektides.
MXNet sisaldab Gluoni liidest, mis võimaldab kõigil oskustasemetel arendajatel seda teha alustage sügava õppimisega pilves, servaseadmetes ja mobiilirakendustes. Vaid mõne Gluoni koodi reaga saate luua lineaarse regressiooni, konvolutsioonivõrke ja korduvaid LSTM-e objektide tuvastamine, kõnetuvastus, soovitused ja isikupärastamine.
MXNeti saab kasutada erinevates seadmetes ja seda toetavad mitmed programmeerimiskeeled nagu Java, R, JavaScript, Scala ja Go. Kuigi selle kogukonna kasutajate ja liikmete arv on väike, on MXNetil hästi kirjutatud dokumentatsioon ja suur kasvupotentsiaal, eriti nüüd, kui Amazon on valinud selle raamistiku AWS-i masinõppe peamiseks tööriistaks.
Põhijooned
- 8 keeleköidet
- Distributed Training, mis toetab mitme CPU ja mitme GPU süsteeme
- Hübriidne esiosa, mis võimaldab lülituda imperatiivse ja sümboolse režiimi vahel
4. Microsofti kognitiivne tööriistakomplekt
Kui kavatsete arendada rakendusi või teenuseid, mis töötavad Azure'is (Microsofti pilveteenused), on Microsoft Cognitive Toolkit raamistik, mille abil saate oma süvaõppeprojektide jaoks valida. See on avatud lähtekoodiga ja seda toetavad muu hulgas programmeerimiskeeled, nagu Python, C++, C#, Java. See raamistik on loodud "mõtlema nagu inimese aju", nii et see suudab töödelda suuri koguseid struktureerimata andmeid, pakkudes samal ajal kiiret koolitust ja intuitiivset arhitektuuri.
Valides selle raamistiku – sama, mis Skype’i, Xboxi ja Cortana taga –, saavutate oma rakenduste hea jõudluse, skaleeritavuse ja lihtsa integreerimise Azure’iga. Võrreldes TensorFlow või PyTorchiga on aga selle kogukonna liikmete arv ja tugi vähenenud.
Järgmine video pakub täielikku tutvustust ja rakendusnäiteid:
Põhijooned
- Selge dokumentatsioon
- Microsofti meeskonna tugi
- Graafiku otsene visualiseerimine
5. Keras
Nagu PyTorch, on ka Keras Pythoni-põhine teek andmemahukate projektide jaoks. Kerase API töötab kõrgel tasemel ja võimaldab integreerida madala taseme API-dega, nagu TensorFlow, Theano ja Microsoft Cognitive Toolkit.
Kerase kasutamise eelised on selle õppimise lihtsus – see on soovitatav raamistik süvaõppe algajatele; selle kasutuselevõtu kiirus; millel on suur toetus pythoni kogukonnalt ja teiste raamistike kogukondadelt, millega see on integreeritud.
Keras sisaldab erinevaid rakendusi närvivõrkude ehitusplokid nagu kihid, eesmärgifunktsioonid, aktiveerimisfunktsioonid ja matemaatilised optimeerijad. Selle koodi majutatakse GitHubis ning seal on foorumid ja Slacki tugikanal. Lisaks standardi tugi närvivõrgud, Keras pakub tuge konvolutsiooniliste närvivõrkude ja korduvate närvivõrkude jaoks.
Keras lubab süvaõppe mudelid luua nii iOS-i kui ka Androidi nutitelefonides, Java virtuaalmasinas või veebis. Samuti võimaldab see kasutada süvaõppemudelite hajutatud koolitust graafikaprotsessori (GPU) ja tensoriprotsessori üksuste (TPU) klastritel.
Põhijooned
- Eelkoolitatud mudelid
- Mitme taustaprogrammi tugi
- Kasutajasõbralik ja suur kogukonna tugi
6. Apple Core ML
Core ML töötas välja Apple, et toetada oma ökosüsteemi – IOS, Mac OS ja iPad OS. Selle API töötab madalal tasemel, kasutades hästi ära CPU ja GPU ressursse, mis võimaldab loodud mudelitel ja rakendustel töötada ka ilma internetiühenduseta, mis vähendab seadme “mälu jalajälge” ja energiatarbimist.
See, kuidas Core ML seda saavutab, ei ole täpselt järjekordse masinõppeteegi loomine, mis on optimeeritud iPhone'ides/ipadides töötamiseks. Selle asemel sarnaneb Core ML pigem kompilaatoriga, mis võtab mudeli spetsifikatsioonid ja koolitatud parameetrid, mis on väljendatud muu masinõppetarkvaraga, ning teisendab selle failiks, millest saab iOS-i rakenduse ressurss. See Core ML-i mudeliks teisendamine toimub rakenduse arendamise ajal, mitte reaalajas, kui rakendust kasutatakse, ja seda hõlbustab coremltoolsi pythoni teek.
Core ML pakub kiiret jõudlust koos hõlpsa integreerimisega masinõpe mudelid rakendusteks. See toetab süvaõpet enam kui 30 tüüpi kihtidega, samuti otsustuspuude, tugivektori masinate ja lineaarse regressioonimeetoditega, mis kõik on üles ehitatud madala taseme tehnoloogiatele, nagu Metal ja Accelerate.
Põhijooned
- Lihtne rakendustesse integreerida
- Kohalike ressursside optimaalne kasutamine, mis ei nõua Interneti-ühendust
- Privaatsus: andmed ei pea seadmest lahkuma
7. ONNX
Viimane raamistik meie loendis on ONNX. See raamistik tekkis Microsofti ja Facebooki koostööst eesmärgiga lihtsustada erinevate raamistike, tööriistade, käitusaegade ja kompilaatorite vahel mudelite ülekandmise ja ehitamise protsessi.
ONNX määratleb ühise failitüübi, mida saab töötada mitmel platvormil, kasutades samal ajal madala taseme API-de eeliseid, nagu näiteks Microsoft Cognitive Toolkit, MXNet, Caffe ja (konverterite abil) Tensorflow ja Core ML. ONNX-i põhimõte on koolitada mudel virna peal ja rakendada seda muude järelduste ja ennustuste abil.
LF AI Foundation, Linuxi fondi allorganisatsioon, on organisatsioon, mis on pühendunud toetava ökosüsteemi loomisele. avatud lähtekoodiga innovatsioon tehisintellektis (AI), masinõppes (ML) ja süvaõppes (DL). 14. novembril 2019 lisati ONNX lõpetajataseme projektina. Seda ONNXi liikumist LF AI Foundationi katuse alla peeti oluliseks verstapostiks ONNXi kui müüja-neutraalse avatud vormingu standardi loomisel.
ONNX Model Zoo on süvaõppega eelkoolitatud mudelite kogum, mis on saadaval ONNX-vormingus. Iga mudeli jaoks on olemas Jupyteri märkmikud mudeli väljaõppeks ja koolitatud mudeliga järelduste tegemiseks. Märkmikud on kirjutatud Pythonis ja sisaldavad linke koolituse andmestik ja viited originaalsele teaduslikule dokumendile, mis kirjeldab mudeliarhitektuuri.
Põhijooned
- Raamistiku koostalitlusvõime
- Riistvara optimeerimine
Järeldus
See on parimate raamistike kokkuvõte sügav õpe. Selleks on mitu tasuta või tasulist raamistikku. Oma projekti jaoks parima valimiseks tehke kõigepealt kindlaks, millise platvormi jaoks oma rakendust arendate.
Üldised raamistikud, nagu TensorFlow ja Keras, on alustamiseks parimad võimalused. Kuid kui teil on vaja kasutada operatsioonisüsteemi või seadmepõhiseid eeliseid, võivad Core ML ja Microsoft Cognitive Toolkit olla parimad valikud.
On ka muid Android-seadmetele, muudele masinatele ja konkreetsetele eesmärkidele suunatud raamistikke, mida selles loendis pole mainitud. Kui viimane rühm teid huvitab, soovitame otsida nende teavet Google'ist või muudest masinõppesaitidest.
Jäta vastus