Et rammeverk for dyp læring består av en kombinasjon av grensesnitt, biblioteker og verktøy for å definere og trene Machine Learning-modeller raskt og nøyaktig.
Fordi dyp læring bruker en stor mengde ustrukturerte, ikke-tekstuelle data, trenger du et rammeverk som kontrollerer interaksjonen mellom «lagene» og gjør modellutviklingen rask ved å lære av inputdataene og ta autonome beslutninger.
Hvis du er interessert i å lære om dyp læring i 2021, bør du vurdere å bruke et av rammene som er angitt nedenfor. Husk å velge en som vil hjelpe deg å nå dine mål og visjoner.
1. tensorflow
Når vi snakker om dyp læring, tensorflow er ofte det første rammeverket som nevnes. Dette rammeverket er svært populært og brukes ikke bare av Google – selskapet som er ansvarlig for opprettelsen – men også av andre selskaper som Dropbox, eBay, Airbnb, Nvidia og så mange andre.
TensorFlow kan brukes til å utvikle API-er på høyt og lavt nivå, slik at du kan kjøre applikasjoner på nesten alle typer enheter. Selv om Python er dets primære språk, kan Tensoflows grensesnitt nås og kontrolleres ved hjelp av andre programmeringsspråk som C++, Java, Julia og JavaScript.
Som åpen kildekode lar TensorFlow deg gjøre flere integrasjoner med andre APIer og få rask støtte og oppdateringer fra fellesskapet. Dens avhengighet av "statiske grafer" for beregning lar deg gjøre umiddelbare beregninger eller lagre operasjoner for tilgang på et annet tidspunkt. Disse grunnene, lagt til muligheten for at du kan "se" utviklingen av ditt nevrale nettverk gjennom TensorBoard, gjør TensorFlow til det mest populære rammeverket for dyp læring.
Viktige funksjoner
- Open-source
- fleksibilitet
- Rask feilsøking
2. PyTorch
PyTorch er et rammeverk utviklet av Facebook for å støtte driften av tjenestene deres. Siden det ble åpen kildekode, har dette rammeverket blitt brukt av andre selskaper enn Facebook, som Salesforce og Udacity.
Dette rammeverket driver dynamisk oppdaterte grafer, slik at du kan gjøre endringer i arkitekturen til datasettet ditt mens du behandler det. Med PyTorch er det enklere å utvikle og trene et nevralt nettverk, selv uten erfaring med dyp læring.
Ved å være åpen kildekode og basert på Python, kan du gjøre enkle og raske integrasjoner til PyTorch. Det er også et enkelt rammeverk for å lære, bruke og feilsøke. Hvis du har spørsmål, kan du stole på god støtte og oppdateringer fra begge fellesskap – Python-fellesskapet og PyTorch-fellesskapet.
Viktige funksjoner
- Lett å lære
- Støtter GPU og CPU
- Rikt sett med APIer for å utvide bibliotekene
3. Apache MX Nett
På grunn av sin høye skalerbarhet, høye ytelse, raske feilsøking og avanserte GPU-støtte, ble dette rammeverket laget av Apache for bruk i store industrielle prosjekter.
MXNet inkluderer Gluon-grensesnittet som lar utviklere på alle ferdighetsnivåer komme i gang med dyp læring på skyen, på edge-enheter og på mobilapper. På bare noen få linjer med Gluon-kode kan du bygge lineær regresjon, konvolusjonelle nettverk og tilbakevendende LSTM-er for objektdeteksjon, talegjenkjenning, anbefaling og personalisering.
MXNet kan brukes på ulike enheter og støttes av flere programmerings språk som Java, R, JavaScript, Scala og Go. Selv om antallet brukere og medlemmer i fellesskapet er lavt, har MXNet velskrevet dokumentasjon og stort potensial for vekst, spesielt nå som Amazon har valgt dette rammeverket som det primære verktøyet for maskinlæring på AWS.
Viktige funksjoner
- 8 språkbindinger
- Distribuert opplæring, støtter multi-CPU og multi-GPU-systemer
- Hybrid frontend, som lar deg bytte mellom imperativ og symbolsk modus
4. Microsoft Cognitive Toolkit
Hvis du tenker på å utvikle applikasjoner eller tjenester som kjører på Azure (Microsoft skytjenester), er Microsoft Cognitive Toolkit rammeverket for å velge for dyplæringsprosjektene dine. Dette er åpen kildekode, og støttes av programmeringsspråk som Python, C++, C#, Java, blant andre. Dette rammeverket er designet for å "tenke som den menneskelige hjernen", slik at det kan behandle store mengder ustrukturerte data, samtidig som det tilbyr rask trening og en intuitiv arkitektur.
Ved å velge dette rammeverket – det samme bak Skype, Xbox og Cortana – vil du få god ytelse fra applikasjonene dine, skalerbarhet og enkel integrasjon med Azure. Sammenlignet med TensorFlow eller PyTorch reduseres imidlertid antallet medlemmer i fellesskapet og støtten.
Følgende video tilbyr en fullstendig introduksjon og brukseksempler:
Viktige funksjoner
- Tydelig dokumentasjon
- Støtte fra Microsoft-teamet
- Direkte grafvisualisering
5. Keras
I likhet med PyTorch er Keras et Python-basert bibliotek for dataintensive prosjekter. Keras API fungerer på et høyt nivå og tillater integrasjoner med lavnivå APIer som TensorFlow, Theano og Microsoft Cognitive Toolkit.
Noen fordeler med å bruke keras er dens enkelhet å lære – å være det anbefalte rammeverket for nybegynnere i dyp læring; hastigheten på utplasseringen; ha stor støtte fra python-samfunnet og fra fellesskap i de andre rammeverkene det er integrert med.
Keras inneholder ulike implementeringer av byggesteiner i nevrale nettverk slik som lag, objektivfunksjoner, aktiveringsfunksjoner og matematiske optimerere. Koden er vert på GitHub, og det er fora og en Slack-støttekanal. I tillegg til støtte for standard nevrale nettverk, tilbyr Keras støtte for konvolusjonelle nevrale nettverk og tilbakevendende nevrale nettverk.
Keras tillater dype læringsmodeller som skal genereres på smarttelefoner på både iOS og Android, på en Java Virtual Machine eller på nettet. Den tillater også bruk av distribuert opplæring av dyplæringsmodeller på klynger av grafiske prosesseringsenheter (GPU) og Tensor Processing Units (TPU).
Viktige funksjoner
- Forhåndsutdannede modeller
- Støtte for flere backend
- Brukervennlig og stor samfunnsstøtte
6. Apple Core ML
Core ML ble utviklet av Apple for å støtte deres økosystem – IOS, Mac OS og iPad OS. API-en fungerer på et lavt nivå, og utnytter CPU- og GPU-ressursene godt, noe som lar modeller og applikasjoner som er opprettet fortsette å kjøre selv uten internettforbindelse, noe som reduserer "minneavtrykket" og strømforbruket til enheten.
Måten Core ML oppnår dette på er ikke akkurat ved å lage enda et maskinlæringsbibliotek som er optimalisert for å kjøre på iphones/ipads. I stedet er Core ML mer som en kompilator som tar modellspesifikasjoner og opplærte parametere uttrykt med annen maskinlæringsprogramvare og konverterer den til en fil som blir en ressurs for en iOS-app. Denne konverteringen til en Core ML-modell skjer under apputvikling, ikke i sanntid ettersom appen brukes, og tilrettelegges av coremltools python-bibliotek.
Core ML leverer rask ytelse med enkel integrasjon av maskinlæring modeller inn i applikasjoner. Den støtter dyp læring med over 30 typer lag samt beslutningstrær, støttevektormaskiner og lineære regresjonsmetoder, alt bygget på lavnivåteknologier som Metal og Accelerate.
Viktige funksjoner
- Enkel å integrere i apper
- Optimal bruk av lokale ressurser, krever ikke internettilgang
- Personvern: dataene trenger ikke forlate enheten
7. ONNX
Det siste rammeverket på listen vår er ONNX. Dette rammeverket oppsto fra et samarbeid mellom Microsoft og Facebook, med mål om å forenkle prosessen med å overføre og bygge modeller mellom ulike rammeverk, verktøy, kjøretider og kompilatorer.
ONNX definerer en vanlig filtype som kan kjøres på flere plattformer, samtidig som de utnytter fordelene med lavnivå-API-er som de fra Microsoft Cognitive Toolkit, MXNet, Caffe og (ved hjelp av omformere) Tensorflow og Core ML. Prinsippet bak ONNX er å trene en modell på en stabel og implementere den ved å bruke andre slutninger og spådommer.
LF AI Foundation, en underorganisasjon av Linux Foundation, er en organisasjon dedikert til å bygge et økosystem for å støtte åpen kildekode innovasjon innen kunstig intelligens (AI), maskinlæring (ML) og dyp læring (DL). Den la til ONNX som et prosjekt på doktorgradsnivå 14. november 2019. Denne flyttingen av ONNX under paraplyen til LF AI Foundation ble sett på som en viktig milepæl i etableringen av ONNX som en leverandørnøytral åpen-formatstandard.
ONNX Model Zoo er en samling av ferdigtrente modeller i Deep Learning tilgjengelig i ONNX-format. For hver modell er det Jupyter bærbare for modelltrening og utføring av inferens med den trente modellen. Notatbøkene er skrevet i Python og inneholder lenker til treningsdatasett og referanser til det originale vitenskapelige dokumentet som beskriver modellarkitekturen.
Viktige funksjoner
- Interoperabilitet mellom rammeverk
- Maskinvareoptimalisering
konklusjonen
Dette er en oppsummering av de beste rammene for dyp læring. Det finnes flere rammer for dette formålet, gratis eller betalt. For å velge det beste for prosjektet ditt, må du først vite hvilken plattform du skal utvikle applikasjonen for.
Generelle rammeverk som TensorFlow og Keras er de beste alternativene å starte. Men hvis du trenger å bruke OS eller enhetsspesifikke fordeler, kan Core ML og Microsoft Cognitive Toolkit være de beste alternativene.
Det er andre rammeverk rettet mot Android-enheter, andre maskiner og spesifikke formål som ikke er nevnt i denne listen. Hvis den sistnevnte gruppen interesserer deg, foreslår vi at du søker etter informasjonen deres på Google eller andre maskinlæringssider.
Legg igjen en kommentar