Du kan bruge AWS Snowball Edge enheder på steder som krydstogtskibe, olieplatforme og fabriksgulve med begrænset til ingen netværksforbindelse til en bred vifte af maskinlæringsapplikationer (ML) såsom overvågning, ansigtsgenkendelse og industriel inspektion. Men i betragtning af disse enheders fjerntliggende og afbrudte karakter er det ofte vanskeligt at implementere og administrere ML-modeller på kanten. Med AWS IoT Greengrass , Amazon SageMaker Edge Manager, kan du udføre ML-inferens på lokalt genererede data på Snowball Edge-enheder ved hjælp af cloud-trænede ML-modeller. Du drager ikke kun fordel af den lave ventetid og omkostningsbesparelser ved at køre lokal inferens, men du reducerer også den tid og indsats, der kræves for at få ML-modeller i produktion. Du kan gøre alt dette, mens du løbende overvåger og forbedrer modelkvaliteten på tværs af din Snowball Edge-enhedsflåde.
I dette indlæg taler vi om, hvordan du kan bruge AWS IoT Greengrass version 2.0 eller nyere og Edge Manager til at optimere, sikre, overvåge og vedligeholde en simpel TensorFlow-klassificeringsmodel til at klassificere forsendelsescontainere (connex) og personer.
Kom godt i gang
For at komme i gang skal du bestille en Snowball Edge-enhed (for mere information, se Oprettelse af et AWS Snowball Edge Job). Du kan bestille en Snowball Edge-enhed med en AWS IoT Greengrass-valideret AMI på.
Når du har modtaget enheden, kan du bruge AWS OpsHub til Snow Family eller Snowball Edge klient for at låse enheden op. Du kan starte en Amazon Elastic Compute Cloud (Amazon EC2) instans med den seneste AWS IoT Greengrass installeret, eller brug kommandoerne på AWS OpsHub for Snow Family.
Start og installer en AMI med følgende krav, eller angiv en AMI-reference på Snowball-konsollen før bestilling, og den vil blive leveret med alle biblioteker og data i AMI:
- ML-rammeværket efter eget valg, såsom TensorFlow, PyTorch eller MXNet
- Docker (hvis du har til hensigt at bruge det)
- AWS IoT Greengrass
- Eventuelle andre biblioteker, du måtte have brug for
Forbered AMI'en på tidspunktet for bestilling af Snowball Edge-enheden på AWS Snow Family-konsollen. For instruktioner, se Brug af Amazon EC2 Compute Instances. Det har du også mulighed for opdater AMI, efter at Snowball er implementeret til din kantplacering.
Installer den seneste AWS IoT Greengrass på Snowball Edge
For at installere AWS IoT Greengrass på din enhed skal du udføre følgende trin:
- Installer den seneste AWS IoT Greengrass på din Snowball Edge-enhed. Sørge for at
dev_tools=True
er indstillet til at haveggv2 cli
Se følgende kode:
Vi henviser til --thing-name
du valgte her, da vi konfigurerede Edge Manager.
- Kør følgende kommando for at teste din installation:
- På AWS IoT-konsollen skal du validere den registrerede Snowball Edge-enhed med din AWS IoT Greengrass-konto.
Optimer ML-modeller med Edge Manager
Vi bruger Edge Manger til at implementere og administrere modellen på Snowball Edge.
- Installer Edge Manager-agenten på Snowball Edge ved hjælp af den seneste AWS IoT Greengrass.
- Træn og opbevar din ML-model.
Du kan træne din ML-model ved at bruge en hvilken som helst ramme efter eget valg og gemme den i en Amazon Simple Storage Service (Amazon S3) spand. I det følgende skærmbillede bruger vi TensorFlow til at træne en multi-label model til at klassificere connex og personer i et billede. Den her anvendte model gemmes i en S3-spand ved først at oprette en .tar-fil.
Efter at modellen er gemt (TensorFlow Lite i dette tilfælde), kan du starte en Amazon SageMaker Neo kompileringsjob af modellen og optimer ML-modellen til Snowball Edge Compute (SBE_C
).
- På SageMaker-konsollen, under Inferens i navigationsruden skal du vælge Kompileringsjob.
- Vælg Opret kompileringsjob.
- Giv dit job et navn og opret eller brug en eksisterende rolle.
Hvis du opretter en ny AWS identitets- og adgangsstyring (IAM) rolle, skal du sikre dig, at SageMaker har adgang til den bøtte, som modellen er gemt i.
- I Indgangskonfiguration afsnit, for Placering af modelartefakter, indtast stien til
model.tar.gz
hvor du gemte filen (i dette tilfælde,s3://feidemo/tfconnexmodel/connexmodel.tar.gz
). - Til Data input konfiguration, skal du indtaste ML-modellens inputlag (dens navn og form). I dette tilfælde hedder det
keras_layer_input
og dens form er [1,224,224,3], så vi går ind{“keras_layer_input”:[1,224,224,3]}
.
- Til Maskinlæringsramme, vælg TFLite.
- Til Målenhed, vælg sbe_c.
- Forlade Compiler muligheder
- Til S3 Output placering, indtast den samme placering som hvor din model er gemt med præfikset (mappe)
output
. For eksempel kommer vi inds3://feidemo/tfconnexmodel/output
.
- Vælg Indsend for at starte kompileringsjobbet.
Nu opretter du en modelimplementeringspakke, der skal bruges af Edge Manager.
- På SageMaker-konsollen, under Edge Manager, vælg Edge emballering job.
- Vælg Opret Edge-pakkejob.
- I Jobegenskaber sektion, skal du indtaste joboplysningerne.
- I Modelkilde afsnit, for Navn på kompileringsjob, indtast det navn, du har angivet til Neo-kompileringsjobbet.
- Vælg Næste.
- I Konfiguration af output afsnit, for S3 spand URI, indtast hvor du vil opbevare pakken i Amazon S3.
- Til Komponentnavn, indtast et navn til din AWS IoT Greengrass-komponent.
Dette trin opretter en AWS IoT Greengrass-modelkomponent, hvor modellen downloades fra Amazon S3 og ukomprimeres til lokal lagring på Snowball Edge.
- Opret en enhedsflåde for at administrere en gruppe af enheder, i dette tilfælde kun én (SBE).
- Til IAM rolle¸ indtast den rolle, der blev genereret af AWS IoT Greengrass tidligere (–tes-rolle-name).
Sørg for, at den har de nødvendige tilladelser ved at gå til IAM-konsollen, søge efter rollen og tilføje de nødvendige politikker til den.
- Registrer Snowball Edge-enheden til den flåde, du har oprettet.
- I Enhedskilde sektion, skal du indtaste enhedens navn. IoT-navnet skal matche det navn, du brugte tidligere - i dette tilfælde -ting-navn MyGreengrassCore.
Du kan registrere yderligere Snowball-enheder på SageMaker-konsollen for at tilføje dem til enhedsflåden, hvilket giver dig mulighed for at gruppere og administrere disse enheder sammen.
Implementer ML-modeller til Snowball Edge ved hjælp af AWS IoT Greengrass
I de foregående afsnit låste du op og konfigurerede din Snowball Edge-enhed. ML-modellen er nu kompileret og optimeret til ydeevne på Snowball Edge. En Edge Manager-pakke oprettes med den kompilerede model, og Snowball-enheden registreres til en flåde. I dette afsnit ser du på de trin, der er involveret i implementeringen af ML-modellen til slutning til Snowball Edge med den seneste AWS IoT Greengrass.
komponenter
AWS IoT Greengrass giver dig mulighed for at implementere til kant-enheder som en kombination af komponenter og tilhørende artefakter. Komponenter er JSON-dokumenter, der indeholder metadata, livscyklus, hvad der skal implementeres hvornår, og hvad der skal installeres. Komponenter definerer også, hvilket operativsystem der skal bruges, og hvilke artefakter der skal bruges, når de kører på forskellige OS-indstillinger.
Artifacts
Artefakter kan være kodefiler, modeller eller containerbilleder. For eksempel kan en komponent defineres til at installere et pandas Python-bibliotek og køre en kodefil, der vil transformere dataene, eller til at installere et TensorFlow-bibliotek og køre modellen til slutning. Følgende er eksempler på artefakter, der er nødvendige for implementering af en inferensapplikation:
- gRPC proto og Python stubs (dette kan være anderledes baseret på din model og ramme)
- Python-kode til at indlæse modellen og udføre inferens
Disse to elementer uploades til en S3-bøtte.
Implementer komponenterne
Implementeringen kræver følgende komponenter:
- Edge Manager-agent (tilgængelig i offentlige komponenter hos GA)
- Model
- Anvendelse
Udfør følgende trin for at implementere komponenterne:
- På AWS IoT-konsollen, under Grønt græs, vælg komponenter, og opret applikationskomponenten.
- Find Edge Manager-agentkomponenten på listen over offentlige komponenter, og implementer den.
- Implementer en modelkomponent oprettet af Edge Manager, som bruges som en afhængighed i applikationskomponenten.
- Implementer applikationskomponenten til edge-enheden ved at gå til listen over AWS IoT Greengrass-implementeringer og oprette en ny implementering.
Hvis du har en eksisterende implementering, kan du revidere den for at tilføje applikationskomponenten.
Nu kan du teste din komponent.
- I din forudsigelses- eller inferenskode, der er implementeret med applikationskomponenten, skal du kode i logikken for at få adgang til filer lokalt på Snowball Edge-enheden (f.eks. i den indgående mappe) og få forudsigelserne eller de behandlede filer til at blive flyttet til en behandlet mappe.
- Log ind på enheden for at se, om forudsigelserne er foretaget.
- Indstil koden til at køre på en løkke, kontroller den indgående mappe for nye filer, bearbejd filerne og flyt dem til den behandlede mappe.
Følgende skærmbillede er et eksempel på opsætning af filer før implementering i Snowball Edge.
Efter implementeringen har alle testbillederne interesseklasser og flyttes derfor til den behandlede mappe.
Ryd op
For at rydde op i alt eller genimplementere denne løsning fra bunden, skal du stoppe alle EC2-forekomsterne ved at kalde TerminateInstance
API mod EC2-kompatible slutpunkter, der kører på din Snowball Edge-enhed. For at returnere din Snowball Edge-enhed, se Sluk for sneboldkanten , Returnering af Snowball Edge-enheden.
Konklusion
Dette indlæg ledte dig igennem, hvordan du bestiller en Snowball Edge-enhed med en AMI efter eget valg. Du kompilerer derefter en model til kanten ved hjælp af SageMaker, pakker den model ved hjælp af Edge Manager og opretter og kører komponenter med artefakter for at udføre ML-inferens på Snowball Edge ved hjælp af den nyeste AWS IoT Greengrass. Med Edge Manager kan du implementere og opdatere dine ML-modeller på en flåde af Snowball Edge-enheder og overvåge ydeevnen på kanten med gemte input- og forudsigelsesdata på Amazon S3. Du kan også køre disse komponenter som langtidsholdbare AWS Lambda funktioner, der kan spinne en model op og vente på, at data gør inferens.
Du kombinerer flere funktioner i AWS IoT Greengrass for at oprette en MQTT-klient og bruge en pub/undermodel til at påberåbe andre tjenester eller mikrotjenester. Mulighederne er uendelige.
Ved at køre ML-inferens på Snowball Edge med Edge Manager og AWS IoT Greengrass kan du optimere, sikre, overvåge og vedligeholde ML-modeller på flåder af Snowball Edge-enheder. Tak fordi du læste med, og tøv ikke med at efterlade spørgsmål eller kommentarer i kommentarfeltet.
For at lære mere om AWS Snow Family, AWS IoT Greengrass og Edge Manager, tjek følgende:
Om forfatterne
Raj Kadiyala er en AI/ML Tech Business Development Manager i AWS WWPS Partner Organisation. Raj har over 12 års erfaring i Machine Learning og kan godt lide at bruge sin fritid på at udforske maskinlæring for praktiske hverdagsløsninger og forblive aktiv i det store udendørs i Colorado.
Nida Beig er Sr. Product Manager – Tech hos Amazon Web Services, hvor hun arbejder på AWS Snow Family-teamet. Hun brænder for at forstå kundernes behov og bruge teknologi som leder af transformativ tænkning til at levere forbrugerprodukter. Udover arbejde nyder hun at rejse, vandre og løbe.
- 100
- 9
- adgang
- Konto
- aktiv
- Yderligere
- Alle
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- api
- Anvendelse
- applikationer
- AWS
- virksomhed
- kontrol
- klassificering
- kode
- Colorado
- kommentarer
- komponent
- Compute
- dirigent
- Connectivity
- forbruger
- Forbrugerprodukter
- Container
- Beholdere
- Oprettelse af
- krydstogt
- data
- dag
- Udvikling
- Enheder
- dokumenter
- Edge
- erfaring
- ansigtsgenkendelse
- fabrik
- familie
- Funktionalitet
- Fornavn
- FLÅDE
- gulve
- Framework
- Gratis
- stor
- Fantastisk udendørs
- gruppe
- link.
- hiking
- Hvordan
- How To
- HTTPS
- IAM
- Identity
- billede
- industrielle
- oplysninger
- interesse
- involverede
- tingenes internet
- IT
- Java
- Job
- seneste
- LÆR
- læring
- Bibliotek
- Limited
- Liste
- belastning
- lokale
- lokalt
- placering
- machine learning
- Match
- ML
- model
- overvågning
- Navigation
- NEO
- netværk
- Olie
- drift
- operativsystem
- Option
- Indstillinger
- ordrer
- Andet
- udendørs
- emballage
- partner
- Mennesker
- ydeevne
- politikker
- forudsigelse
- Forudsigelser
- Produkt
- produktion
- Produkter
- offentlige
- Python
- pytorch
- kvalitet
- rækkevidde
- Læsning
- reducere
- Krav
- Kør
- kører
- sagemaker
- Tjenester
- sæt
- Levering
- skibe
- Simpelt
- sne
- So
- Løsninger
- tilbringe
- Spin
- starte
- påbegyndt
- opbevaring
- butik
- overvågning
- systemet
- tech
- Teknologier
- tensorflow
- prøve
- Tænker
- tid
- Opdatering
- vente
- web
- webservices
- Arbejde
- virker
- år