Du kan bruke AWS Snowball Edge enheter på steder som cruiseskip, oljerigger og fabrikkgulv med begrenset til ingen nettverkstilkobling for et bredt spekter av maskinlæringsprogrammer (ML), for eksempel overvåking, ansiktsgjenkjenning og industriell inspeksjon. Gitt disse enheters eksterne og frakoblede natur, er det imidlertid ofte vanskelig å distribuere og administrere ML -modeller på kanten. Med AWS IoT Greengrass og Amazon SageMaker Edge Manager, kan du utføre ML-slutning på lokalt genererte data på Snowball Edge-enheter ved bruk av skytrenede ML-modeller. Du drar ikke bare fordeler av lav ventetid og kostnadsbesparelser ved å kjøre lokal slutning, men reduserer også tiden og innsatsen som kreves for å få ML -modeller i produksjon. Du kan gjøre alt dette mens du kontinuerlig overvåker og forbedrer modellkvaliteten på tvers av din Snowball Edge -enhetsflåte.
I dette innlegget snakker vi om hvordan du kan bruke AWS IoT Greengrass versjon 2.0 eller nyere og Edge Manager for å optimalisere, sikre, overvåke og vedlikeholde en enkel TensorFlow klassifiseringsmodell for å klassifisere fraktbeholdere (konneks) og personer.
Komme i gang
For å komme i gang, bestill en Snowball Edge -enhet (for mer informasjon, se Opprette en AWS Snowball Edge -jobb). Du kan bestille en Snowball Edge -enhet med en AWS IoT Greengrass -validert AMI på den.
Etter at du har mottatt enheten, kan du bruke den AWS OpsHub for Snow Family eller Snowball Edge -klient for å låse opp enheten. Du kan starte en Amazon Elastic Compute Cloud (Amazon EC2) forekomst med den siste AWS IoT Greengrass installert eller bruk kommandoene på AWS OpsHub for Snow Family.
Start og installer en AMI med følgende krav, eller oppgi en AMI -referanse på Snowball -konsollen før du bestiller, og den blir sendt med alle biblioteker og data i AMI:
- ML -rammeverket du ønsker, for eksempel TensorFlow, PyTorch eller MXNet
- Docker (hvis du har tenkt å bruke den)
- AWS IoT Greengrass
- Alle andre biblioteker du måtte trenge
Forbered AMI når du bestiller Snowball Edge -enheten på AWS Snow Family -konsollen. For instruksjoner, se Bruke Amazon EC2 Compute Instances. Du har også muligheten til oppdater AMI etter at Snowball er distribuert til kantposisjonen din.
Installer den nyeste AWS IoT Greengrass på Snowball Edge
For å installere AWS IoT Greengrass på enheten din, fullfør følgende trinn:
- Installer den nyeste AWS IoT Greengrass på Snowball Edge -enheten. Forsikre
dev_tools=True
er satt til å haggv2 cli
Se følgende kode:
Vi refererer til --thing-name
du valgte her da vi konfigurerte Edge Manager.
- Kjør følgende kommando for å teste installasjonen:
- Valider den vellykkede registrerte Snowball Edge -enheten på AWS IoT -konsollen med AWS IoT Greengrass -kontoen din.
Optimaliser ML -modeller med Edge Manager
Vi bruker Edge Manger til å distribuere og administrere modellen på Snowball Edge.
- Installer Edge Manager -agenten på Snowball Edge ved å bruke den nyeste AWS IoT Greengrass.
- Tren og lagre ML -modellen din.
Du kan trene ML -modellen din ved å bruke hvilken som helst rammeverk du ønsker og lagre den til en Amazon enkel lagringstjeneste (Amazon S3) bøtte. I det følgende skjermbildet bruker vi TensorFlow til å trene en modell med flere etiketter for å klassifisere konneks og personer i et bilde. Modellen som brukes her, lagres i en S3 -bøtte ved først å lage en .tar -fil.
Etter at modellen er lagret (TensorFlow Lite i dette tilfellet), kan du starte en Amazon SageMaker Neo samlejobb av modellen og optimalisere ML -modellen for Snowball Edge Compute (SBE_C
).
- På SageMaker-konsollen, under slutning Velg navigasjonsruten Kompilering jobber.
- Velg Lag kompilasjonsjobb.
- Gi jobben et navn, og opprett eller bruk en eksisterende rolle.
Hvis du lager en ny AWS identitets- og tilgangsadministrasjon (IAM) rolle, sørg for at SageMaker har tilgang til skuffen som modellen er lagret i.
- på Inngangskonfigurasjon seksjon, for Plassering av modellgjenstander, skriv inn banen til
model.tar.gz
der du lagret filen (i dette tilfellet,s3://feidemo/tfconnexmodel/connexmodel.tar.gz
). - Til Konfigurasjon av datainngang, skriv inn ML -modellens inngangslag (navn og form). I dette tilfellet heter det
keras_layer_input
og formen er [1,224,224,3], så vi går inn{“keras_layer_input”:[1,224,224,3]}
.
- Til Rammeverk for maskinlæring, velg TFLite.
- Til Målenhet, velg sbe_c.
- Permisjon Kompilator alternativer
- Til S3 Utgangssted, skriv inn samme sted som modellen din er lagret med prefikset (mappe)
output
. For eksempel går vi inns3://feidemo/tfconnexmodel/output
.
- Velg Send for å starte samlejobben.
Nå lager du en modelldistribueringspakke som skal brukes av Edge Manager.
- På SageMaker-konsollen, under Edge Manager, velg Edge emballasje jobber.
- Velg Lag Edge -pakkejobb.
- på Jobbeegenskaper delen, angi jobbdetaljene.
- på Modell kilde seksjon, for Navn på samlingsjobb, skriv inn navnet du oppga for Neo -kompileringsjobben.
- Velg neste.
- på Konfigurasjon av utdata seksjon, for S3 bøtte URI, skriv inn hvor du vil lagre pakken i Amazon S3.
- Til Komponentnavn, skriv inn et navn på AWS IoT Greengrass -komponenten.
Dette trinnet oppretter en AWS IoT Greengrass -modellkomponent der modellen lastes ned fra Amazon S3 og ukomprimeres til lokal lagring på Snowball Edge.
- Opprett en enhetsflåte for å administrere en gruppe enheter, i dette tilfellet bare én (SBE).
- Til IAM-rolle¸ skriv inn rollen generert av AWS IoT Greengrass tidligere (–tes-rollenavn).
Sørg for at den har de nødvendige tillatelsene ved å gå til IAM -konsollen, søke etter rollen og legge til de nødvendige retningslinjene.
- Registrer Snowball Edge -enheten til flåten du opprettet.
- på Enhetskilde delen, skriv inn enhetsnavnet. IoT-navnet må samsvare med navnet du brukte tidligere-i dette tilfellet-navnet MyGreengrassCore.
Du kan registrere flere Snowball -enheter på SageMaker -konsollen for å legge dem til i enhetsflåten, som lar deg gruppere og administrere disse enhetene sammen.
Distribuer ML -modeller til Snowball Edge ved hjelp av AWS IoT Greengrass
I de foregående seksjonene låste du opp og konfigurerte Snowball Edge -enheten din. ML -modellen er nå samlet og optimalisert for ytelse på Snowball Edge. En Edge Manager -pakke opprettes med den kompilerte modellen og Snowball -enheten er registrert i en flåte. I denne delen ser du på trinnene som er involvert i implementering av ML -modellen for slutning til Snowball Edge med den nyeste AWS IoT Greengrass.
komponenter
AWS IoT Greengrass lar deg distribuere til kantenheter som en kombinasjon av komponenter og tilhørende artefakter. Komponenter er JSON -dokumenter som inneholder metadata, livssyklus, hva du skal distribuere når og hva du skal installere. Komponenter definerer også hvilket operativsystem som skal brukes og hvilke artefakter du skal bruke når du kjører på forskjellige operativsystemalternativer.
Artifacts
Artefakter kan være kodefiler, modeller eller containerbilder. For eksempel kan en komponent defineres for å installere et pandas Python -bibliotek og kjøre en kodefil som vil transformere dataene, eller for å installere et TensorFlow -bibliotek og kjøre modellen for slutning. Følgende er eksempler på artefakter som er nødvendige for implementering av en slutningsprogram:
- gRPC proto og Python stubber (dette kan være annerledes basert på din modell og rammeverk)
- Python -kode for å laste inn modellen og utføre slutning
Disse to elementene lastes opp til en S3 -bøtte.
Distribuer komponentene
Distribusjonen trenger følgende komponenter:
- Edge Manager -agent (tilgjengelig i offentlige komponenter hos GA)
- Modell
- Søknad
Fullfør følgende trinn for å distribuere komponentene:
- På AWS IoT -konsollen, under Grønt gress, velg komponenter, og opprett applikasjonskomponenten.
- Finn Edge Manager -agentkomponenten i listen over offentlige komponenter og distribuer den.
- Distribuer en modellkomponent opprettet av Edge Manager, som brukes som avhengighet i applikasjonskomponenten.
- Distribuer applikasjonskomponenten til kantenheten ved å gå til listen over AWS IoT Greengrass -distribusjoner og opprette en ny distribusjon.
Hvis du har en eksisterende distribusjon, kan du revidere den for å legge til programkomponenten.
Nå kan du teste komponenten din.
- I forutsigelses- eller slutningskoden som er distribuert med applikasjonskomponenten, kode i logikken for å få tilgang til filer lokalt på Snowball Edge -enheten (for eksempel i den innkommende mappen) og la spådommene eller behandlede filer flyttes til en behandlet mappe.
- Logg på enheten for å se om spådommene er gjort.
- Sett opp koden for å kjøre på en sløyfe, se etter den innkommende mappen for nye filer, behandle filene og flytte dem til den behandlede mappen.
Følgende skjermbilde er et eksempel på oppsett av filer før distribusjon inne i Snowball Edge.
Etter distribusjon har alle testbildene klasser av interesse og flyttes derfor til den behandlede mappen.
Rydd opp
For å rydde opp i alt eller reimplementere denne løsningen fra bunnen av, stopp alle EC2 -forekomstene ved å påkalle TerminateInstance
API mot EC2-kompatible endepunkter som kjører på Snowball Edge-enheten din. For å returnere Snowball Edge -enheten din, se Slå av Snowball Edge og Returnerer Snowball Edge -enheten.
konklusjonen
Dette innlegget ledet deg gjennom hvordan du bestiller en Snowball Edge -enhet med en AMI etter eget valg. Du kompilerer deretter en modell for kanten ved hjelp av SageMaker, pakker den modellen ved hjelp av Edge Manager, og oppretter og kjører komponenter med artefakter for å utføre ML -slutning på Snowball Edge ved hjelp av den nyeste AWS IoT Greengrass. Med Edge Manager kan du distribuere og oppdatere ML -modellene dine på en flåte av Snowball Edge -enheter, og overvåke ytelsen på kanten med lagrede inngangs- og forutsigelsesdata på Amazon S3. Du kan også kjøre disse komponentene som langvarige AWS Lambda funksjoner som kan spinne opp en modell og vente på at data gjør slutning.
Du kombinerer flere funksjoner i AWS IoT Greengrass for å opprette en MQTT -klient og bruke en pub/sub -modell for å påkalle andre tjenester eller mikrotjenester. Mulighetene er endeløse.
Ved å kjøre ML -slutning på Snowball Edge med Edge Manager og AWS IoT Greengrass, kan du optimalisere, sikre, overvåke og vedlikeholde ML -modeller på flåter av Snowball Edge -enheter. Takk for at du leser, og ikke nøl med å legge igjen spørsmål eller kommentarer i kommentarfeltet.
For å lære mer om AWS Snow Family, AWS IoT Greengrass og Edge Manager, sjekk ut følgende:
Om forfatterne
Raj Kadiyala er AI / ML Tech Business Development Manager i AWS WWPS Partner Organization. Raj har over 12 års erfaring innen maskinlæring og bruker gjerne fritiden sin på å utforske maskinlæring for praktiske hverdagsløsninger og holde seg aktiv i det friluftsrike Colorado.
Nida Beig er en Senior Product Manager - Tech hos Amazon Web Services hvor hun jobber på AWS Snow Family -teamet. Hun er lidenskapelig opptatt av å forstå kundens behov, og bruke teknologi som en leder for transformativ tenkning for å levere forbrukerprodukter. Foruten jobb liker hun å reise, gå tur og løpe.
- 100
- 9
- adgang
- Logg inn
- aktiv
- Ytterligere
- Alle
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- api
- Søknad
- søknader
- AWS
- virksomhet
- kontroll
- klassifisering
- kode
- Colorado
- kommentarer
- komponent
- Beregn
- dirigent
- Tilkobling
- forbruker
- Forbrukerprodukter
- Container
- Containere
- Opprette
- cruise
- dato
- dag
- Utvikling
- Enheter
- dokumenter
- Edge
- erfaring
- ansiktsgjenkjenning
- fabrikk
- familie
- Egenskaper
- Først
- FLÅTE
- gulv
- Rammeverk
- Gratis
- flott
- Flott utendørs
- Gruppe
- her.
- vandreturer
- Hvordan
- Hvordan
- HTTPS
- IAM
- Identitet
- bilde
- industriell
- informasjon
- interesse
- involvert
- IOT
- IT
- Java
- Jobb
- siste
- LÆRE
- læring
- Bibliotek
- Begrenset
- Liste
- laste
- lokal
- lokalt
- plassering
- maskinlæring
- Match
- ML
- modell
- overvåking
- Navigasjon
- NEO
- nettverk
- Olje
- drift
- operativsystem
- Alternativ
- alternativer
- rekkefølge
- Annen
- utendørs
- emballasje
- partner
- Ansatte
- ytelse
- Politikk
- prediksjon
- Spådommer
- Produkt
- Produksjon
- Produkter
- offentlig
- Python
- pytorch
- kvalitet
- område
- Lesning
- redusere
- Krav
- Kjør
- rennende
- sagemaker
- Tjenester
- sett
- Levering
- skip
- Enkelt
- snø
- So
- Solutions
- bruke
- Snurre rundt
- Begynn
- startet
- lagring
- oppbevare
- overvåking
- system
- tech
- Teknologi
- tensorflow
- test
- tenker
- tid
- Oppdater
- vente
- web
- webtjenester
- Arbeid
- virker
- år