Kako se sklad programske opreme RK3588 NPU ujema
Sklad programske opreme RKNN Rockchip ločuje pripravo modela od izvedbe na napravi. RKNN-Toolkit2 ponuja orodja za pretvorbo in vrednotenje. RKNN-Toolkit-Lite2 zagotavlja vmesnik Python na podprtih ciljnih platformah, medtem ko RKNN Runtime ponuja vmesnike C/C++. Gonilnik jedra poveže izvajalno okolje z NPU. Preverite združljivost teh komponent s paketom podpore za ploščo, ki je priložen vašemu modulu.
Uporaben zapis o uvajanju identificira ploščo in revizijo SoM, sliko Linux, gonilnik, čas izvajanja, različico orodja za pretvorbo, izvirni in pretvorjeni model. Shranite gradbeni skript in nastavitve predprocesiranja poleg artefakta modela. Ime datoteke, kot je npr detector.rknn sama ne more razložiti, zakaj se ena uvedba obnaša drugače od druge.
Korak 1: vzpostavite referenco pred pretvorbo
Zaženite izvirni model na reprezentativnem validacijskem nizu. Shranite neobdelane rezultate in metriko aplikacije, ki je pomembna: natančnost klasifikacije, kakovost zaznavanja ali drugo merilo, specifično za nalogo. Za detektor ohranite vrstni red nalepk, pragove zaupanja in nastavitve naknadne obdelave. To postane primerjalna točka za pretvorjen model.
Zapišite celotno vhodno pogodbo. Vključite dimenzije, velikost serije, vrstni red RGB ali BGR, postavitev, številčni obseg, normalizacijo, spreminjanje velikosti in oblazinjenje. Pravilen model lahko povzroči slabe rezultate, če aplikacija nabira sliko drugače kot pri usposabljanju ali dvakrat odšteje odmik. Prav tako skrbno dokumentirajte naknadno obdelavo zunaj omrežja.
Uporabite Rockchip RKNN Model Zoo kot izhodišče, ko vključuje ujemajoč se model in cilj. Njegovi primeri pretvorbe in sklepanja so bolj uporabni kot domneva, da bo katero koli izvoženo omrežje delovalo nespremenjeno. Izberite znano revizijo repozitorija in sledite navodilom za ta specifični primer.
Korak 2: pretvorite model in preverite podporo operaterja
- Ujemite cilj. Izberite cilj RK3588 in verigo orodij, ki je združljiva s predvideno sliko plošče.
- Preglejte graf. Potrdite oblike, predprocesiranje, rezultate in podporo za dejanske operacije v izvoženem modelu.
- Zgradite referenčno pretvorbo. Uporabite možnosti natančnosti, ki jih podpira ta graf in različica programske opreme.
- Preberite celoten dnevnik gradnje. Odpravite napake in raziščite opozorila, preden dodate zajem kamere ali uporabniški vmesnik.
- Primerjajte rezultate. Zaženite iste vnose skozi izvirne in pretvorjene modele z isto naknadno obdelavo.
Nepodprta operacija lahko zahteva drugačen izvoz, prepis grafa ali eksplicitno stopnjo obdelave CPE. Ne predvidevajte, da bo izvajalno okolje transparentno izvedlo vsako nepodprto plast. Če se del delovne obremenitve premakne na CPE, vključite prenose in sinhronizacijo v merjenje zmogljivosti.
Korak 3: ocenite INT8 glede na svojo zahtevo po natančnosti
Kvantizacija spremeni numerično predstavitev. Ko izbrani pretvorbeni tok uporablja podatke o umerjanju, izberite vnose, ki predstavljajo uvedbo: osvetlitev, velikost predmeta, ozadje in pogoji delovanja. Za ovrednotenje rezultata shranite ločen niz za preverjanje. Pretvorba, ki se uspešno zaključi, še vedno potrebuje preverjanje točnosti.
Primerjajte rezultate aplikacije, ne le razlike med dvema tenzorjema. Majhna številčna sprememba lahko na primer premakne zaznavo čez prag zaupanja. Preglejte težke primere, razrede z malo primeri in pogoje, kjer je bil prvotni model že obroben. Če natančnost pade pod mejo sprejemljivosti, ponovno preglejte pokritost kalibracije in predprocesiranje, preden zamenjate strojno opremo.
The ONNX Dokumentacija kvantizacije izvajalnega okolja je uporabno ozadje za numerične kompromise in preiskavo točnosti. Možnosti pretvorbe RKNN in podprto natančnost je treba še vedno preveriti v lastni dokumentaciji Rockchip za izbrano izdajo.
Korak 4: izmerite več kot čas sklepanja
Izmerite razporejeno delovno obremenitev po ogrevanju in znova med dolgotrajnim tekom. Beležite temperaturo, način napajanja, sočasne procese in ohišje ali ureditev hlajenja. Koristen rezultat je ponovljiva ovojnica zmogljivosti, vključno z natančnostjo in zakasnitvijo, pod pogoji, v katerih bo izdelek deloval.
| Merjenje | Kaj odgovarja | Kaj snemati |
|---|---|---|
| Trajanje izvedbe modela | Kako dolgo traja ta izvajalni klic? | Oblika vnosa, natančnost, časovne meje in različica izvajalnega časa |
| Zakasnitev od konca do konca | Koliko je staro opazovanje, ko je izvid dostavljen? | Čas zajemanja, predprocesiranje, čakalna vrsta, sklepanje in izhodni čas |
| Trajna pretočnost | Koliko dokončanih rezultatov je dostavljenih čez čas? | Dolžina izvajanja, dokončane zahteve in izpuščeni ali preskočeni vnosi |
| Natančnost uporabe | Ali razporejeni model izpolnjuje zahteve naloge? | Validacijski nabor, metrika naloge in pragi odločitve |
| Toplotno obnašanje | Ali je rezultat po segrevanju sistema stabilen? | Okoljski pogoji, hlajenje, temperature in ure, kjer so na voljo |
Kot ilustrativni proračun mora aplikacija, ki prejme nov okvir vsakih 40 ms, slediti 25 okvirjem na sekundo, če obdela vsak okvir. 12 ms inferenčna meritev bi pustila preostanek tega proračuna za pridobitev, pripravo in dostavo samo v ustrezno načrtovanem načrtu. Ne dokazuje zakasnitve 12 ms od kamere do rezultata. Te številke so primer načrtovanja, ne pa izmerjena zmogljivost ForgeEdge.
Uporabite monotono uro za programska obdobja. Poročajte o mediani in zadnji zakasnitvi namesto enega samega najboljšega opazovanja in ohranite neobdelane meritve. Za več kamer upoštevajte delovno obremenitev vseh aktivnih tokov, vključno z dekodiranjem, pretvorbo slike, premikanjem pomnilnika in snemanjem. Čakalna vrsta, ki raste med preskusom, kaže, da je povprečna zmogljivost pod dohodno delovno obremenitvijo.
Pogosti simptomi uvajanja
| Simptom | Prva preiskava |
|---|---|
| Pravilen model, nepravilne oznake ali škatle | Vrstni red barv, normalizacija, spreminjanje velikosti/oblazinjenje, izhodna postavitev in naknadna obdelava |
| Pretvorjenega modela ni mogoče inicializirati | Izbira cilja, združljivost izvajalnega okolja/gonilnika in celovitost artefakta modela |
| Dobro kratko merilo uspešnosti, slabo trajno delovanje | Temperatura, način napajanja, pomnilniški pritisk in konkurenčno delo |
| Sprejemljiv čas sklepanja, vidno zakasnjeni rezultati | Zajem medpomnilnika, starost čakalne vrste, kopije in razporejanje izhoda |
| Izhod INT8 izgubi koristne zaznave | Pokritost kalibracije, enakovrednost predprocesiranja in validacija na ravni naloge |
Spremenite prototip v ponovljiv izdelek
Zapakirajte model, čas izvajanja in konfiguracijo aplikacije kot nadzorovano izdajo. Določite preverjanja ob zagonu, poročanje o napakah, obnovitev in pot povrnitve nazaj. Izvedite majhen preskus referenčnega vnosa, ki lahko prepozna nepravilno namestitev, preden priključite kamero. Ločite to preverjanje programske opreme od preskusa fizičnega senzorja, ki prav tako izvaja kable, gonilnike in nastavitve osvetlitve.
Ko plošča potrebuje različne priključke, napajalne vmesnike ali senzorske vmesnike, preglejte Odločitev SoM proti SBC in Postopek oblikovanja nosilna plošča. Te odločitve določajo, kako uspešna predstavitev modela postane sistem, ki ga je mogoče vzdrževati.
RK3588 NPU vprašanja o uvajanju
Ali lahko vsak model ONNX deluje na RK3588 NPU?
Združljivost je odvisna od dejanskega grafa, oblik, operacij in izbrane verige orodij. Vzpostavite podporo s pretvorbo in preverjanjem v napravi modela, ki ga nameravate poslati.
Ali oglaševana ocena pospeševalnika napoveduje FPS aplikacije?
Ne. Omrežje, natančnost, obnašanje pomnilnika, predprocesiranje in čas izvajanja določajo izmerjeno prepustnost aplikacije. Pri primerjavi platform uporabite ciljno delovno obremenitev in celotno podatkovno pot.
Ali naj najprej optimiziram nevronsko mrežo?
Najprej profil. Če prevladujejo pridobivanje, pretvorba slik ali čakalna vrsta, lahko zmanjšanje časa izvajanja modela le malo vpliva na starost rezultata, ki jo ima aplikacija.
Primerjajte celotno nalogo računalniškega vida
Za aplikacijo za zaznavanje objektov izmerite zajem kamere, spreminjanje velikosti in normalizacijo, sklepanje NPU, izhodno dekodiranje in dostavo odločitve. Poročajte o različici modela, vhodni ločljivosti, natančnosti, pragu zaupanja in naboru podatkov o vrednotenju z rezultatom merjenja časa. V nasprotnem primeru lahko dve navidezno podobni robni merili uspešnosti umetne inteligence opisujeta različne naloge.
Preizkusite izvoženi graf in zahtevane operaterje prek izbrane orodne verige RKNN, preden se zavežete arhitekturi modela. Preverite natančnost po kvantizaciji in obnašanje med neprekinjenim izvajanjem, ne samo, ali je pretvorba uspešna. Zaznavanje, segmentacija in klasifikacija objektov imajo različne stroške obdelave izhodnih podatkov; potrditi dejansko delovno obremenitev, izbrano za projekt.
Primerjaj oblikovalske vloge FPGA, NPU in MPU
Tehnične reference
Obseg delovne obremenitve robne umetne inteligence.
Delite model, vhodno ločljivost, vmesnike kamere, zahtevano stopnjo rezultatov in ovojnico moči. Ocenimo lahko integracijsko delo okoli robne platforme, ki temelji na RK3588.
