En ramme for deep learning består af en kombination af grænseflader, biblioteker og værktøjer til at definere og træne Machine Learning-modeller hurtigt og præcist.
Fordi deep learning bruger en stor mængde ustrukturerede, ikke-tekstuelle data, har du brug for en ramme, der styrer interaktionen mellem "lagene" og gør modeludviklingen hurtig ved at lære af inputdataene og træffe selvstændige beslutninger.
Hvis du er interesseret i at lære om dyb læring i 2021, kan du overveje at bruge en af de rammer, der er angivet nedenfor. Husk at vælge en, der hjælper dig med at nå dine mål og vision.
1. TensorFlow
Når man taler om dyb læring, TensorFlow er ofte den først nævnte ramme. Denne ramme, der er meget populær, bruges ikke kun af Google – virksomheden, der er ansvarlig for dens oprettelse – men også af andre virksomheder som Dropbox, eBay, Airbnb, Nvidia og så mange andre.
TensorFlow kan bruges til at udvikle høj- og lavniveau API'er, så du kan køre applikationer på næsten enhver form for enhed. Selvom Python er dets primære sprog, kan Tensoflows grænseflade tilgås og kontrolleres ved hjælp af andre programmeringssprog såsom C++, Java, Julia og JavaScript.
Da TensorFlow er open source, giver TensorFlow dig mulighed for at lave flere integrationer med andre API'er og få hurtig support og opdateringer fra fællesskabet. Dens afhængighed af "statiske grafer" til beregning giver dig mulighed for at foretage øjeblikkelige beregninger eller gemme operationer til adgang på et andet tidspunkt. Disse grunde, tilføjet til muligheden for, at du kan "se" udviklingen af dit neurale netværk gennem TensorBoard, gør TensorFlow til den mest populære ramme for dyb læring.
Nøglefunktioner
- Open source
- Fleksibilitet
- Hurtig debugging
2. PyTorch
PyTorch er en ramme udviklet af Facebook til at understøtte driften af dets tjenester. Siden den blev open source, er denne ramme blevet brugt af andre virksomheder end Facebook, såsom Salesforce og Udacity.
Denne ramme driver dynamisk opdaterede grafer, så du kan foretage ændringer i dit datasæts arkitektur, mens du behandler det. Med PyTorch er det nemmere at udvikle og træne et neuralt netværk, selv uden nogen som helst erfaring med dyb læring.
Da du er open source og baseret på Python, kan du lave enkle og hurtige integrationer til PyTorch. Det er også en enkel ramme til at lære, bruge og fejlfinde. Hvis du har spørgsmål, kan du regne med den store støtte og opdateringer fra begge fællesskaber – Python-fællesskabet og PyTorch-fællesskabet.
Nøglefunktioner
- Let at lære
- Understøtter GPU og CPU
- Rigt sæt API'er til at udvide biblioteker
3. Apache MX Net
På grund af dets høje skalerbarhed, høje ydeevne, hurtige fejlfinding og avancerede GPU-understøttelse blev denne ramme skabt af Apache til brug i store industrielle projekter.
MXNet inkluderer Gluon-grænsefladen, der gør det muligt for udviklere på alle færdighedsniveauer komme i gang med deep learning på skyen, på edge-enheder og på mobilapps. På blot et par linjer Gluon-kode kan du bygge lineær regression, foldningsnetværk og tilbagevendende LSTM'er for objektdetektion, talegenkendelse, anbefaling og personalisering.
MXNet kan bruges på forskellige enheder og understøttes af flere programmeringssprog såsom Java, R, JavaScript, Scala og Go. Selvom antallet af brugere og medlemmer i dets fællesskab er lavt, har MXNet velskrevet dokumentation og stort potentiale for vækst, især nu hvor Amazon har valgt denne ramme som det primære værktøj til Machine Learning på AWS.
Nøglefunktioner
- 8 sprogbindinger
- Distribueret træning, der understøtter multi-CPU og multi-GPU systemer
- Hybrid front-end, der gør det muligt at skifte mellem imperativ og symbolsk tilstand
4. Microsoft Cognitive Toolkit
Hvis du tænker på at udvikle applikationer eller tjenester, der kører på Azure (Microsoft cloud-tjenester), er Microsoft Cognitive Toolkit den ramme, du skal vælge til dine deep learning-projekter. Dette er open source og understøttet af programmeringssprog som Python, C++, C#, Java, blandt andre. Denne ramme er designet til at "tænke som den menneskelige hjerne", så den kan behandle store mængder ustrukturerede data, samtidig med at den tilbyder hurtig træning og en intuitiv arkitektur.
Ved at vælge denne ramme – den samme bag Skype, Xbox og Cortana – får du god ydeevne fra dine applikationer, skalerbarhed og enkel integration med Azure. Men sammenlignet med TensorFlow eller PyTorch reduceres antallet af medlemmer i dets fællesskab og support.
Følgende video tilbyder en komplet introduktion og anvendelseseksempler:
Nøglefunktioner
- Ryd dokumentation
- Support fra Microsoft-teamet
- Direkte grafvisualisering
5. Keras
Ligesom PyTorch er Keras et Python-baseret bibliotek til dataintensive projekter. Keras API arbejder på et højt niveau og tillader integrationer med lavniveau API'er såsom TensorFlow, Theano og Microsoft Cognitive Toolkit.
Nogle fordele ved at bruge keras er dens enkelhed at lære – at være den anbefalede ramme for begyndere i dyb læring; dens udbygningshastighed; have stor støtte fra python-fællesskabet og fra fællesskaber i de andre rammer, som det er integreret med.
Keras indeholder forskellige implementeringer af byggesten i neurale netværk såsom lag, objektivfunktioner, aktiveringsfunktioner og matematiske optimerere. Dens kode er hostet på GitHub, og der er fora og en Slack-supportkanal. Ud over understøttelse af standard neurale netværk, Keras tilbyder support til Convolutional Neural Networks og Recurrent Neural Networks.
Keras tillader deep learning modeller skal genereres på smartphones på både iOS og Android, på en Java Virtual Machine eller på nettet. Det tillader også brugen af distribueret træning af deep learning-modeller på klynger af Graphics Processing Units (GPU) og Tensor Processing Units (TPU).
Nøglefunktioner
- Foruddannede modeller
- Understøttelse af flere backend
- Brugervenlig og stor community support
6. Apple Core ML
Core ML blev udviklet af Apple til at understøtte dets økosystem - IOS, Mac OS og iPad OS. Dens API fungerer på et lavt niveau og gør god brug af CPU'er og GPU's ressourcer, hvilket gør det muligt for modeller og applikationer, der er oprettet, at blive ved med at køre selv uden internetforbindelse, hvilket reducerer enhedens "hukommelsesfodaftryk" og strømforbrug.
Måden Core ML opnår dette på er ikke ligefrem ved at lave endnu et maskinlæringsbibliotek, som er optimeret til at køre på iphones/ipads. I stedet er Core ML mere som en compiler, der tager modelspecifikationer og trænede parametre udtrykt med anden maskinlæringssoftware og konverterer den til en fil, der bliver en ressource for en iOS-app. Denne konvertering til en Core ML-model sker under app-udvikling, ikke i realtid, da appen bruges, og er lettet af coremltools python-bibliotek.
Core ML leverer hurtig ydeevne med nem integration af machine learning modeller til applikationer. Det understøtter dyb læring med over 30 typer lag samt beslutningstræer, understøtter vektormaskiner og lineære regressionsmetoder, alt sammen bygget oven på lavniveauteknologier såsom Metal og Accelerate.
Nøglefunktioner
- Let at integrere i apps
- Optimal brug af lokale ressourcer, der ikke kræver internetadgang
- Fortrolighed: dataene behøver ikke at forlade enheden
7. ONNX
Den sidste ramme på vores liste er ONNX. Dette framework er opstået fra et samarbejde mellem Microsoft og Facebook, med det formål at forenkle processen med at overføre og bygge modeller mellem forskellige frameworks, værktøjer, runtimes og compilere.
ONNX definerer en fælles filtype, der kan køre på flere platforme, samtidig med at man udnytter fordelene ved lavniveau-API'er som dem fra Microsoft Cognitive Toolkit, MXNet, Caffe og (ved hjælp af konvertere) Tensorflow og Core ML. Princippet bag ONNX er at træne en model på en stak og implementere den ved hjælp af andre slutninger og forudsigelser.
LF AI Foundation, en underorganisation af Linux Foundation, er en organisation dedikeret til at opbygge et økosystem til at understøtte open source innovation inden for kunstig intelligens (AI), machine learning (ML) og deep learning (DL). Det tilføjede ONNX som et projekt på kandidatniveau den 14. november 2019. Denne flytning af ONNX under paraplyen af LF AI Foundation blev set som en vigtig milepæl i etableringen af ONNX som en leverandørneutral standard i åbent format.
ONNX Model Zoo er en samling af fortrænede modeller i Deep Learning tilgængelig i ONNX-format. For hver model er der Jupyter notesbøger til modeltræning og udførelse af inferens med den trænede model. Notesbøgerne er skrevet i Python og indeholder links til træningsdatasæt og referencer til det originale videnskabelige dokument, der beskriver modelarkitekturen.
Nøglefunktioner
- Rammeinteroperabilitet
- Hardware optimering
Konklusion
Dette er en oversigt over de bedste rammer for dyb læring. Der er flere rammer til dette formål, gratis eller betalt. For at vælge det bedste til dit projekt, skal du først vide, hvilken platform du vil udvikle din applikation til.
Generelle rammer som TensorFlow og Keras er de bedste muligheder at starte. Men hvis du skal bruge OS eller enhedsspecifikke fordele, så er Core ML og Microsoft Cognitive Toolkit måske de bedste muligheder.
Der er andre rammer rettet mod Android-enheder, andre maskiner og specifikke formål, som ikke er nævnt på denne liste. Hvis sidstnævnte gruppe interesserer dig, foreslår vi, at du søger efter deres oplysninger på Google eller andre maskinlæringswebsteder.
Giv en kommentar