Ambarella gradi SoC-je za računalniški vid (sistem na čipih), ki temeljijo na zelo učinkoviti arhitekturi čipov AI in CVflow, ki zagotavlja obdelavo globoke nevronske mreže (DNN), ki je potrebna za primere uporabe robnega sklepanja, kot je inteligentno spremljanje doma in pametne nadzorne kamere. Razvijalci pretvorijo modele, usposobljene z ogrodji (kot je TensorFlow ali MXNET), v format Ambarella CVflow, da lahko te modele izvajajo na robnih napravah. Amazon SageMaker Edge je integriral verigo orodij Ambarella v svoj potek dela, kar vam omogoča preprosto pretvorbo in optimizacijo vaših modelov za platformo.
V tej objavi prikazujemo, kako nastaviti optimizacijo in pretvorbo modela s SageMaker Edge, dodati model vaši aplikaciji edge ter uvesti in preizkusiti svoj novi model v napravi Ambarella CV25, da zgradite aplikacijo pametne nadzorne kamere, ki deluje na robu.
Primer uporabe pametne kamere
Pametne varnostne kamere imajo omogočene funkcije strojnega učenja za posamezne primere (ML), kot je zaznavanje vozil in živali ali prepoznavanje morebitnega sumljivega vedenja, parkiranja ali kršitev območja. Ti scenariji zahtevajo, da modeli ML delujejo na robni računalniški enoti v fotoaparatu z najvišjo možno zmogljivostjo.
Procesorji Ambarella CVx, ki temeljijo na lastniški arhitekturi CVflow podjetja, zagotavljajo visoko zmogljivost sklepanja DNN pri zelo nizki porabi energije. Zaradi te kombinacije visoke zmogljivosti in nizke porabe so idealni za naprave, ki zahtevajo vrhunsko inteligenco. Modele ML je treba optimizirati in prevesti, da bo ciljna platforma delovala na robu. SageMaker Edge ima ključno vlogo pri optimizaciji in pretvorbi modelov ML v najbolj priljubljena ogrodja, da se lahko izvajajo na napravi edge.
Pregled rešitev
Naša rešitev pametne varnostne kamere izvaja optimizacijo modela ML in konfiguracijo prevajanja, delovanje med izvajanjem, testiranje sklepanja in vrednotenje na robni napravi. SageMaker Edge zagotavlja optimizacijo modela in pretvorbo za naprave edge, ki delujejo hitreje brez izgube natančnosti. Model ML je lahko v katerem koli ogrodju, ki ga podpira SageMaker Edge. Za več informacij glejte Podprta ogrodja, naprave, sistemi in arhitekture.
Integracija SageMaker Edge orodij Ambarella CVflow zagotavlja dodatne prednosti razvijalcem, ki uporabljajo Ambarella SoC:
- Razvijalcem se ni treba ukvarjati s posodobitvami in vzdrževanjem verige orodij prevajalnika, ker je veriga orodij integrirana in neprozorna za uporabnika
- Sloji, ki jih CVflow ne podpira, se samodejno prevedejo za izvajanje v ARM s prevajalnikom SageMaker Edge
Naslednji diagram ponazarja arhitekturo rešitve:
Koraki za izvedbo rešitve so naslednji:
- Pripravite paket modela.
- Konfigurirajte in zaženite opravilo prevajanja modela za Ambarella CV25.
- Zapakirane artefakte modela položite na napravo.
- Preizkusite sklepanje na napravi.
Pripravite paket modela
Za cilje Ambarella SageMaker Edge zahteva paket modela, ki vsebuje konfiguracijsko datoteko modela, imenovano amba_config.json
, kalibracijske slike in datoteko z usposobljenim modelom ML. Ta datoteka paketa modela je stisnjena datoteka TAR (*.tar.gz). Uporabite lahko Amazon Sagemaker primerek prenosnega računalnika za usposabljanje in testiranje modelov ML ter za pripravo datoteke paketa modela. Če želite ustvariti primerek zvezka, izvedite naslednje korake:
- Na konzoli SageMaker pod notebook v podoknu za krmarjenje izberite Primeri prenosnih računalnikov.
- Izberite Ustvari primerek prenosnega računalnika.
- Vnesite ime za svoj primerek in izberite ml.t2.srednje kot vrsto primerka.
Ta primer je dovolj za testiranje in pripravo modela.
- za Vloga IAM, ustvarite novo AWS upravljanje identitete in dostopa (IAM), do katere želite omogočiti dostop Preprosta storitev shranjevanja Amazon (Amazon S3) ali izberite obstoječo vlogo.
- Ohranite druge konfiguracije kot privzete in izberite Ustvari primerek prenosnega računalnika.
Ko je stanje InService
, lahko začnete uporabljati svoj novi primerek prenosnika Sagemaker.
- Izberite Odprite JupyterLab za dostop do vašega delovnega prostora.
Za to objavo uporabljamo vnaprej usposobljen model TFLite za prevajanje in uvajanje v robno napravo. Izbrani model je predhodno usposobljen model za zaznavanje objektov SSD iz živalskega vrta modelov TensorFlow na naboru podatkov COCO.
- Prenos pretvorjen model TFLite.
Zdaj ste pripravljeni na prenos, testiranje in pripravo paketa modela.
- Ustvarite nov zvezek z jedrom
conda_tensorflow2_p36
v pogledu zaganjalnika. - Zahtevane knjižnice uvozite na naslednji način:
- Shranite naslednjo sliko kot primer
street-frame.jpg
, ustvarite mapo z imenom calib_img v mapi delovnega prostora in naložite sliko v trenutno mapo. - Naložite preneseno vsebino paketa modela v trenutno mapo.
- Zaženite naslednji ukaz, da naložite svoj vnaprej pripravljen model TFLite in natisnete njegove parametre, ki jih potrebujemo za konfiguracijo našega modela za prevajanje:
- Uporabite naslednjo kodo, da naložite testno sliko in zaženete sklepanje:
- Uporabite naslednjo kodo za vizualizacijo zaznanih mejnih okvirjev na sliki in shranite sliko rezultata kot
street-frame_results.jpg
: - Uporabite naslednji ukaz za prikaz slike rezultata:
Dobite rezultat sklepanja, kot je naslednja slika.
Naš predhodno usposobljeni model TFLite zazna avtomobilski predmet iz okvirja varnostne kamere.
Končali smo s testiranjem modela; zdaj pa zapakirajmo model in konfiguracijske datoteke, ki jih Amazon Sagemaker Neo potrebuje za cilje Ambarella.
- Ustvari prazno besedilno datoteko, imenovano
amba_config.json
in za to uporabite naslednjo vsebino:
Ta datoteka je konfiguracijska datoteka kompilacije za Ambarella CV25. The filepath
notranja vrednost amba_config.json
mora ustrezati calib_img
ime mape; neujemanje lahko povzroči okvaro.
Vsebina paketa modela je zdaj pripravljena.
- Za stiskanje paketa kot datoteke .tar.gz uporabite naslednje ukaze:
- Naložite datoteko v vedro S3, ki ga je samodejno ustvaril SageMaker, da jo uporabite v opravilu prevajanja (ali vaše določeno vedro S3):
Datoteka paketa modela vsebuje slike za umerjanje, konfiguracijsko datoteko kompilacije in datoteke modela. Ko naložite datoteko v Amazon S3, ste pripravljeni na začetek dela prevajanja.
Sestavite model za Ambarella CV25
Če želite začeti opravilo prevajanja, dokončajte naslednje korake:
- Na konzoli SageMaker pod Sklepanje v podoknu za krmarjenje izberite Kompilacijske naloge.
- Izberite Ustvari delo kompilacije.
- za Ime delovnega mesta, vnesite ime.
- za Vloga IAM, ustvarite vlogo ali izberite obstoječo vlogo, da Amazonu S3 omogočite branje in pisanje za datoteke modela.
- v Vhodna konfiguracija odsek, za Lokacija artefaktov modela, vnesite pot S3 vaše naložene datoteke paketa modela.
- za Konfiguracija vnosa podatkov, vnesite
{"normalized_input_image_tensor":[1, 300, 300, 3]}
, ki je oblika vhodnih podatkov modela, pridobljena v prejšnjih korakih. - za Ogrodje strojnega učenja, izberite TFLite.
- v Izhodna konfiguracija odsek, za Ciljna naprava, izberite svojo napravo (
amba_cv25
). - za S3 Izhodna lokacija, vnesite mapo v vedro S3, v katero želite shraniti prevedeni model.
- Izberite Prijave se za začetek postopka prevajanja.
Čas prevajanja je odvisen od velikosti in arhitekture vašega modela. Ko je vaš prevedeni model pripravljen v Amazonu S3, se Status stolpec prikazuje kot COMPLETED
.
Če je prikazan status kompilacije FAILED
, nanašati se na Odpravite napake Ambarella za odpravljanje napak pri prevajanju.
Artefakte modela postavite na napravo
Ko je delo prevajanja končano, Neo shrani prevedeni paket na podano izhodno lokacijo v vedru S3. Prevedena datoteka paketa modela vsebuje pretvorjene in optimizirane datoteke modela, njihovo konfiguracijo in datoteke izvajalnega okolja.
Na konzoli Amazon S3 prenesite paket prevedenega modela, nato izvlecite in prenesite artefakte modela v svojo napravo, da jo začnete uporabljati s svojo aplikacijo za sklepanje edge ML.
Preizkusite sklepanje ML na napravi
Pomaknite se do terminala vaše naprave Ambarella in v napravi zaženite binarno aplikacijo za sklepanje. Prevedeni in optimizirani model ML se izvaja za navedeni video vir. Na izhodnem toku lahko opazite zaznane mejne okvirje, kot je prikazano na naslednjem posnetku zaslona.
zaključek
V tej objavi smo izvedli pripravo modela ML in pretvorbo v cilje Ambarella s SageMaker Edge, ki ima integrirano verigo orodij Ambarella. Optimiziranje in uvajanje visokozmogljivih modelov ML v Ambarelline robne naprave z nizko porabo odklene inteligentne robne rešitve, kot so pametne varnostne kamere.
Kot naslednji korak lahko začnete uporabljati SageMaker Edge in Ambarella CV25, da omogočite ML za robne naprave. Ta primer uporabe lahko razširite z razvojnimi funkcijami Sagemaker ML, da zgradite cevovod od konca do konca, ki vključuje obdelavo robov in uvajanje.
O avtorjih
Emir Ayar je vodilni arhitekt Edge Prototyping v ekipi AWS Prototyping. Specializiran je za pomoč strankam pri izgradnji IoT, Edge AI in rešitev Industrije 4.0 ter izvajanju najboljših arhitekturnih praks. Živi v Luksemburgu in rad igra sintetizatorje.
Dinesh Balasubramaniam je odgovoren za trženje in podporo strankam za Ambarellino družino varnostnih SoC-jev s strokovnim znanjem na področju sistemskega inženiringa, razvoja programske opreme, kompresije videa in oblikovanja izdelkov. Dinesh Diplomiral je na Univerzi v Teksasu v Dallasu s poudarkom na obdelavi signalov.
- Coinsmart. Najboljša evropska borza bitcoinov in kriptovalut.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. PROST DOSTOP.
- CryptoHawk. Altcoin radar. Brezplačen preizkus.
- Vir: https://aws.amazon.com/blogs/machine-learning/ml-inferencing-at-the-edge-with-amazon-sagemaker-edge-and-ambarella-cv25/
- "
- 100
- 7
- dostop
- Dodatne
- Prednosti
- AI
- Dovoli
- Amazon
- Živali
- aplikacija
- uporaba
- architectural
- Arhitektura
- ARM
- AWS
- Izhodišče
- BEST
- najboljše prakse
- izgradnjo
- Gradi
- kamere
- Lahko dobiš
- voziček
- primeri
- Vzrok
- čip
- čipi
- Koda
- Stolpec
- kombinacija
- Podjetja
- računalništvo
- konfiguracija
- Konzole
- Vsebuje
- vsebina
- Vsebina
- Pretvorba
- Trenutna
- Pomoč strankam
- Stranke, ki so
- Dallas
- datum
- ponudba
- razporedi
- uvajanja
- uvajanje
- Oblikovanje
- Zaznali
- Odkrivanje
- Razvijalci
- Razvoj
- naprava
- naprave
- Ne
- enostavno
- Edge
- robno računalništvo
- Inženiring
- Primer
- strokovno znanje
- razširiti
- Napaka
- družina
- hitreje
- Lastnosti
- Osredotočite
- po
- format
- Okvirni
- višina
- visoka
- Domov
- Kako
- Kako
- HTTPS
- identiteta
- slika
- izvajati
- Indeks
- Industrija
- Podatki
- integrirana
- integracija
- Intelligence
- Inteligentna
- Internet stvari
- IT
- Job
- Ključne
- Oznake
- vodi
- učenje
- vrstica
- obremenitev
- kraj aktivnosti
- Luxembourg
- stroj
- strojno učenje
- Trženje
- Stave
- ML
- Model
- modeli
- spremljanje
- Najbolj
- Najbolj popularni
- MS
- ostalo
- NEO
- mreža
- prenosnik
- Ostalo
- parkiranje
- performance
- platforma
- Popular
- mogoče
- moč
- Postopek
- Izdelek
- lastniško
- prototipov
- zagotavljajo
- zagotavlja
- namene
- zahteva
- obvezna
- odgovorna
- Run
- tek
- varnost
- nastavite
- Enostavno
- Velikosti
- pametna
- Software
- Razvoj programske opreme
- rešitve
- specializirano
- Začetek
- začel
- Status
- shranjevanje
- tok
- podpora
- Podpira
- nadzor
- sistem
- sistemi
- ciljna
- skupina
- terminal
- Test
- Testiranje
- texas
- čas
- orodja
- univerza
- odklene
- posodobitve
- uporaba
- vrednost
- Vozila
- Video
- Poglej
- Vizija
- W