INHOUDSOPGAWE[Versteek][Wys]
'n Raamwerk vir diep leer bestaan uit 'n kombinasie van koppelvlakke, biblioteke en gereedskap om Masjienleer-modelle vinnig en akkuraat te definieer en op te lei.
Omdat diep leer 'n groot hoeveelheid ongestruktureerde, nie-tekstuele data gebruik, benodig jy 'n raamwerk wat die interaksie tussen die "lae" beheer en modelontwikkeling vinnig maak deur uit die insetdata te leer en outonome besluite te neem.
As jy belangstel om in 2021 oor diep leer te leer, oorweeg dit om een van die raamwerke wat hieronder aangedui word, te gebruik. Onthou om een te kies wat jou sal help om jou doelwitte en visie te bereik.
1. TensorFlow
As ons oor diep leer praat, TensorFlow is dikwels die eerste raamwerk wat genoem word. Hierdie raamwerk, wat baie gewild is, word nie net deur Google gebruik nie – die maatskappy wat verantwoordelik is vir die skepping daarvan – maar ook deur ander maatskappye soos Dropbox, eBay, Airbnb, Nvidia, en soveel ander.
TensorFlow kan gebruik word om hoë- en laevlak-API's te ontwikkel, wat jou toelaat om toepassings op byna enige soort toestel te laat loop. Alhoewel Python sy primêre taal is, kan Tensoflow se koppelvlak toegang verkry en beheer word deur ander programmeertale soos C++, Java, Julia en JavaScript te gebruik.
Omdat dit oopbron is, stel TensorFlow jou in staat om verskeie integrasies met ander API's te maak en vinnige ondersteuning en opdaterings van die gemeenskap te kry. Sy afhanklikheid van "statiese grafieke" vir berekening laat jou toe om onmiddellike berekeninge te maak of bewerkings te stoor vir toegang op 'n ander tyd. Hierdie redes, bygevoeg tot die moontlikheid dat jy die ontwikkeling van jou neurale netwerk deur TensorBoard kan "kyk", maak TensorFlow die gewildste raamwerk vir diep leer.
Belangrikste kenmerke
- Oop bron
- Buigsaamheid
- Vinnige ontfouting
2. PyTorch
PyTorch is 'n raamwerk wat deur Facebook ontwikkel is om die werking van sy dienste te ondersteun. Sedert dit oopbron geword het, is hierdie raamwerk deur ander maatskappye as Facebook gebruik, soos Salesforce en Udacity.
Hierdie raamwerk werk dinamies bygewerkte grafieke, wat jou in staat stel om veranderinge aan die argitektuur van jou datastel te maak soos jy dit verwerk. Met PyTorch is dit makliker om 'n neurale netwerk te ontwikkel en op te lei, selfs sonder enige ervaring in diep leer.
Omdat u oopbron is en op Python gebaseer is, kan u eenvoudige en vinnige integrasies met PyTorch maak. Dit is ook 'n eenvoudige raamwerk om te leer, te gebruik en te ontfout. As jy vrae het, kan jy staatmaak op die wonderlike ondersteuning en opdaterings van beide gemeenskappe – Python-gemeenskap en die PyTorch-gemeenskap.
Belangrikste kenmerke
- Maklik om te leer
- Ondersteun GPU en SVE
- Ryk stel API's om biblioteke uit te brei
3. Apache MX Net
As gevolg van sy hoë skaalbaarheid, hoë werkverrigting, vinnige probleemoplossing en gevorderde GPU-ondersteuning, is hierdie raamwerk deur Apache geskep vir gebruik in groot industriële projekte.
MXNet bevat die Gluon-koppelvlak wat ontwikkelaars van alle vaardigheidsvlakke toelaat begin met diep leer op die wolk, op randtoestelle en op mobiele toepassings. In net 'n paar reëls Gluon-kode kan jy lineêre regressie, konvolusienetwerke en herhalende LSTM's bou vir objekopsporing, spraakherkenning, aanbeveling en verpersoonliking.
MXNet kan op verskeie toestelle gebruik word en word deur verskeie ondersteun programmeringstale soos Java, R, JavaScript, Scala en Go. Alhoewel die aantal gebruikers en lede in sy gemeenskap laag is, het MXNet goedgeskrewe dokumentasie en groot potensiaal vir groei, veral noudat Amazon hierdie raamwerk gekies het as die primêre hulpmiddel vir masjienleer op AWS.
Belangrikste kenmerke
- 8 taalbindings
- Verspreide opleiding, ondersteun multi-CPU en multi-GPU stelsels
- Hibriede voorkant, wat dit moontlik maak om tussen noodsaaklike en simboliese modusse te skakel
4. Microsoft Kognitiewe Toolkit
As jy daaraan dink om toepassings of dienste te ontwikkel wat op Azure (Microsoft-wolkdienste) loop, is die Microsoft Cognitive Toolkit die raamwerk om vir jou diepleerprojekte te kies. Dit is oopbron, en word ondersteun deur programmeertale soos Python, C++, C#, Java, onder andere. Hierdie raamwerk is ontwerp om "soos die menslike brein te dink", sodat dit groot hoeveelhede ongestruktureerde data kan verwerk, terwyl dit vinnige opleiding en 'n intuïtiewe argitektuur bied.
Deur hierdie raamwerk te kies – dieselfde een agter Skype, Xbox en Cortana – sal jy goeie werkverrigting uit jou toepassings, skaalbaarheid en eenvoudige integrasie met Azure kry. In vergelyking met TensorFlow of PyTorch word die aantal lede in sy gemeenskap en ondersteuning egter verminder.
Die volgende video bied 'n volledige inleiding en toepassingsvoorbeelde:
Belangrikste kenmerke
- Duidelike dokumentasie
- Ondersteuning van Microsoft-span
- Direkte grafiekvisualisering
5. Keras
Soos PyTorch, is Keras 'n Python-gebaseerde biblioteek vir data-intensiewe projekte. Die keras API werk op 'n hoë vlak en laat integrasies met lae vlak API's soos TensorFlow, Theano en Microsoft Cognitive Toolkit toe.
Sommige voordele van die gebruik van keras is die eenvoud daarvan om te leer - synde die aanbevole raamwerk vir beginners in diep leer; sy spoed van ontplooiing; met groot ondersteuning van die luislanggemeenskap en van gemeenskappe van die ander raamwerke waarmee dit geïntegreer is.
Keras bevat verskeie implementerings van die boustene van neurale netwerke soos lae, objektiewe funksies, aktiveringsfunksies en wiskundige optimeerders. Die kode word op GitHub aangebied en daar is forums en 'n Slack-ondersteuningskanaal. Benewens ondersteuning vir standaard neurale netwerke, Keras bied ondersteuning vir konvolusionele neurale netwerke en herhalende neurale netwerke.
Keras laat toe diep leermodelle gegenereer word op slimfone op beide iOS en Android, op 'n Java Virtual Machine, of op die web. Dit laat ook die gebruik van verspreide opleiding van diepleermodelle op groepe van grafiese verwerkingseenhede (GPU) en tensorverwerkingseenhede (TPU) toe.
Belangrikste kenmerke
- Vooraf opgeleide modelle
- Veelvuldige backend-ondersteuning
- Gebruikersvriendelike en groot gemeenskapsondersteuning
6. Apple Core ML
Core ML is deur Apple ontwikkel om sy ekosisteem te ondersteun - IOS, Mac OS en iPad OS. Sy API werk op 'n lae vlak en maak goed gebruik van SVE's en GPU se hulpbronne, wat dit moontlik maak dat modelle en toepassings wat geskep is, aanhou loop selfs sonder 'n internetverbinding, wat die "geheue-voetspoor" en kragverbruik van die toestel verminder.
Die manier waarop Core ML dit bereik, is nie presies deur nog 'n masjienleerbiblioteek te maak wat geoptimaliseer is om op iphones/ipads te gebruik nie. In plaas daarvan is Core ML meer soos 'n samesteller wat modelspesifikasies en opgeleide parameters neem wat met ander masjienleersagteware uitgedruk word en dit omskep in 'n lêer wat 'n hulpbron vir 'n iOS-toepassing word. Hierdie omskakeling na 'n Core ML-model vind plaas tydens toepassingsontwikkeling, nie intyds soos die toepassing gebruik word nie, en word gefasiliteer deur die Coremltools-python-biblioteek.
Core ML lewer vinnige werkverrigting met maklike integrasie van machine learning modelle in toepassings. Dit ondersteun diep leer met meer as 30 soorte lae sowel as besluitnemingbome, ondersteuningsvektormasjiene en lineêre regressiemetodes, alles gebou op laevlaktegnologieë soos Metal en Accelerate.
Belangrikste kenmerke
- Maklik om in toepassings te integreer
- Optimale gebruik van plaaslike hulpbronne, vereis nie internettoegang nie
- Privaatheid: die data hoef nie die toestel te verlaat nie
7. ONNX
Die laaste raamwerk op ons lys is ONNX. Hierdie raamwerk het ontstaan uit 'n samewerking tussen Microsoft en Facebook, met die doel om die proses van oordrag en bou van modelle tussen verskillende raamwerke, gereedskap, looptye en samestellers te vereenvoudig.
ONNX definieer 'n algemene lêertipe wat op verskeie platforms kan loop, terwyl dit gebruik maak van die voordele van laevlak API's soos dié van Microsoft Cognitive Toolkit, MXNet, Caffe en (met omskakelaars) Tensorflow en Core ML. Die beginsel agter ONNX is om 'n model op 'n stapel op te lei en dit te implementeer deur ander afleidings en voorspellings te gebruik.
Die LF AI Foundation, 'n sub-organisasie van die Linux Foundation, is 'n organisasie wat toegewy is aan die bou van 'n ekosisteem om te ondersteun open-source innovasie in kunsmatige intelligensie (KI), masjienleer (ML) en diep leer (DL). Dit het ONNX as 'n gegradueerde-vlak projek bygevoeg op 14 November 2019. Hierdie skuif van ONNX onder die sambreel van die LF AI Foundation is gesien as 'n belangrike mylpaal in die vestiging van ONNX as 'n verskaffer-neutrale oopformaat-standaard.
Die ONNX Model Zoo is 'n versameling vooraf-opgeleide modelle in Deep Learning wat in ONNX-formaat beskikbaar is. Vir elke model is daar Jupyter notaboeke vir modelopleiding en die uitvoering van afleiding met die opgeleide model. Die notaboeke is in Python geskryf en bevat skakels na die opleidingsdatastel en verwysings na die oorspronklike wetenskaplike dokument wat die modelargitektuur beskryf.
Belangrikste kenmerke
- Raamwerk interoperabiliteit
- Hardeware Optimalisering
Gevolgtrekking
Dit is 'n opsomming van die beste raamwerke vir diep leer. Daar is verskeie raamwerke vir hierdie doel, gratis of betaal. Om die beste vir jou projek te kies, moet jy eers weet vir watter platform jy jou toepassing gaan ontwikkel.
Algemene raamwerke soos TensorFlow en Keras is die beste opsies om te begin. Maar as jy OS- of toestelspesifieke voordele moet gebruik, is Core ML en Microsoft Cognitive Toolkit dalk die beste opsies.
Daar is ander raamwerke wat gemik is op Android-toestelle, ander masjiene en spesifieke doeleindes wat nie in hierdie lys genoem is nie. As laasgenoemde groep jou interesseer, stel ons voor dat jy hul inligting op Google of ander masjienleerwerwe soek.
Lewer Kommentaar