Kuidas tarkvarapakk RK3588 NPU kokku sobib
Rockchip tarkvarapinn RKNN eraldab mudeli ettevalmistamise seadmes täitmisest. RKNN-Toolkit2 pakub konversiooni- ja hindamistööriistu. RKNN-Toolkit-Lite2 pakub Pythoni liidest toetatud sihtplatvormidel, samas kui RKNN Runtime pakub C/C++ liideseid. Kerneli draiver ühendab käitusaja seadmega NPU. Kontrollige nende komponentide ühilduvust teie mooduliga kaasas oleva plaadi tugipaketiga.
Kasulik juurutuskirje tuvastab tahvli ja SoM versiooni, Linux kujutise, draiveri, käitusaja, teisendustööriista versiooni, algmudeli ja teisendatud mudeli. Salvestage koostamise skript ja eeltöötluse sätted mudeli artefakti kõrvale. Failinimi, näiteks detector.rknn üksi ei saa seletada, miks üks juurutus käitub teisest erinevalt.
Samm 1: looge enne konversiooni viide
Käivitage originaalmudel tüüpilisel valideerimiskomplektil. Salvestage töötlemata väljundid ja rakenduse mõõdik, mis on oluline: klassifitseerimise täpsus, tuvastamise kvaliteet või mõni muu ülesandepõhine meede. Detektori puhul säilitage siltide järjestus, usaldusläved ja järeltöötluse sätted. Sellest saab teisendatud mudeli võrdluspunkt.
Kirjutage kogu sisestusleping üles. Kaasake mõõtmed, partii suurus, RGB või BGR järjestus, paigutus, numbriline vahemik, normaliseerimine, suuruse muutmine ja polsterdus. Õige mudel võib anda halbu tulemusi, kui rakendus postitab pildi erinevalt treeningust või lahutab nihke kaks korda. Sama hoolikalt dokumenteerige järeltöötlus väljaspool võrku.
Kasutage Rockchip RKNN Mudelloomaaed lähtepunktiks, kui see sisaldab sobivat mudelit ja sihtmärki. Selle teisendus- ja järeldusnäited on kasulikumad kui eeldada, et mis tahes eksporditud võrk töötab muutumatul kujul. Valige teadaolev hoidla versioon ja järgige selle konkreetse näite juhiseid.
Samm 2: teisendage mudel ja kontrollige operaatori tuge
- Sobitage sihtmärk. Valige sihtmärk RK3588 ja tööriistaahel, mis ühildub tahvli kujutisega.
- Kontrollige graafikut. Kinnitage eksporditud mudeli kujundid, eeltöötlus, väljundid ja tegelike toimingute tugi.
- Looge võrdluskonversioon. Kasutage selle graafiku ja tarkvaraversiooni toetatud täppisvalikuid.
- Lugege täielikku ehituslogi. Enne kaamera hankimise või kasutajaliidese lisamist lahendage tõrked ja uurige hoiatusi.
- Võrrelge väljundeid. Käivitage samad sisendid läbi originaal- ja teisendatud mudelite sama järeltöötlusega.
Toetamata toiming võib nõuda teistsugust eksporti, graafiku ümberkirjutamist või selgesõnalist protsessori töötlemise etappi. Ärge eeldage, et käitusaeg täidab läbipaistvalt kõiki toetamata kihte. Kui osa töökoormusest liigub protsessorisse, kaasake jõudluse mõõtmisse ülekanded ja sünkroonimine.
Samm 3: hinnake INT8 vastavalt oma täpsusnõudele
Kvantimine muudab numbrilist esitust. Kui valitud konversioonivoog kasutab kalibreerimisandmeid, valige kasutuselevõttu esindavad sisendid: valgustus, objekti suurus, taust ja töötingimused. Hoidke tulemuse hindamiseks eraldi valideerimiskomplekti. Edukalt lõpule viidud konversioon vajab siiski täpsuse kontrollimist.
Võrrelge rakenduse väljundit, mitte ainult kahe tensori erinevust. Näiteks võib väike arvuline muudatus viia tuvastamise üle usaldusläve. Kontrollige keerulisi juhtumeid, väheste näidetega klasse ja tingimusi, kus esialgne mudel oli juba marginaalne. Kui täpsus langeb alla aktsepteerimispiiri, vaadake enne riistvara vahetamist uuesti kalibreerimise katvust ja eeltöötlust.
The ONNX Kestusaja kvantifitseerimise dokumentatsioon on kasulik taust arvuliste kompromisside ja täpsuse uurimisel. Konversioonivalikuid RKNN ja toetatud täpsust tuleb siiski kontrollida Rockchip enda dokumentatsioonist valitud versiooni jaoks.
Samm 4: mõõtke rohkem kui aega
Mõõtke rakendatud töökoormust pärast soojendust ja uuesti pideva töötamise ajal. Salvestage temperatuur, toiterežiim, samaaegsed protsessid ja ümbris või jahutuskorraldus. Kasulik tulemus on reprodutseeritav jõudlus, sealhulgas täpsus ja viivitus, toote töötingimustes.
| Mõõtmine | Mida see vastab | Mida salvestada |
|---|---|---|
| Mudeli täitmise kestus | Kui kaua see käitusaegne kõne aega võtab? | Sisestuskuju, täpsus, ajastuse piirid ja käitusaegne versioon |
| Otsast lõpuni latentsusaeg | Kui vana on vaatlus, kui tulemus on edastatud? | Püüdmisaeg, eeltöötlus, järjekorda seadmine, järelduste tegemine ja väljundaeg |
| Püsiv läbilaskevõime | Kui palju lõpetatud tulemusi aja jooksul edastatakse? | Käitamise pikkus, täidetud päringud ja välja jäetud või vahele jäetud sisendid |
| Rakenduse täpsus | Kas juurutatud mudel vastab ülesande nõudele? | Valideerimiskomplekt, ülesande mõõdik ja otsustusläved |
| Termiline käitumine | Kas tulemus on pärast süsteemi soojenemist stabiilne? | Keskkonnatingimused, jahutus, temperatuurid ja kellad, kui need on saadaval |
Näitliku eelarvena peab rakendus, mis saab uue kaadri iga 40 ms järel, sammu pidama 25 kaadriga sekundis, kui see töötleb iga kaadrit. Järeldusmõõtmine 12 ms jätaks ülejäänud eelarve hankimiseks, ettevalmistamiseks ja tarnimiseks ainult sobiva ajakava järgi. See ei tõenda 12 ms viivitust kaamerast tulemuseni. Need arvud on planeerimise näide, mitte mõõdetud ForgeEdge toimivust.
Tarkvara kestuse määramiseks kasutage monotoonset kella. Teatage keskmisest ja saba latentsusest, mitte ühest parimast vaatlusest, ning säilitage töötlemata mõõtmised. Mitme kaamera puhul arvestage kõigi aktiivsete voogude töökoormust, sealhulgas dekodeerimist, kujutise teisendamist, mälu liikumist ja salvestamist. Järjekord, mis kogu testi jooksul kasvab, näitab, et keskmine võimsus on sissetulevast töökoormusest väiksem.
Levinud kasutuselevõtu sümptomid
| Sümptom | Esimene uurimine |
|---|---|
| Õige mudel, valed sildid või karbid | Värvide järjekord, normaliseerimine, suuruse muutmine/polster, väljundi paigutus ja järeltöötlus |
| Teisendatud mudelit ei saa lähtestada | Sihtmärgi valik, käitusaja/draiveri ühilduvus ja mudeli artefakti terviklikkus |
| Hea lühike etalon, halb püsiv jõudlus | Temperatuur, võimsusrežiim, mälu surve ja võistlev töö |
| Vastuvõetav järeldusaeg, nähtavalt hilinenud tulemused | Jäädvustage puhverdamine, järjekorra vanus, koopiad ja väljundi ajastamine |
| INT8 väljund kaotab kasulikud tuvastamised | Kalibreerimise katvus, eeltöötluse samaväärsus ja ülesande tasemel valideerimine |
Muutke prototüüp korratavaks tooteks
Pakkige mudel, käitusaeg ja rakenduse konfiguratsioon kontrollitud väljalaskena. Määratlege käivituskontrollid, tõrgetest teatamine, taastamine ja tagasipööramise tee. Enne kaamera ühendamist tehke väike võrdlussisendi test, mis tuvastab vale kasutuselevõtu. Eraldage see tarkvarakontroll füüsilise anduri testist, mis hõlmab ka kaabeldust, draivereid ja särituse sätteid.
Kui plaat vajab erinevaid pistikuid, toitekonditsioneeri või anduri liideseid, vaadake üle SoM versus SBC otsus ja kandeplaadi projekteerimise protsess. Need otsused määravad kindlaks, kuidas edukast mudeliesitlusest saab hooldatav süsteem.
RK3588 NPU juurutamise küsimust
Kas iga mudeliga ONNX saab töötada mudelil RK3588 NPU?
Ühilduvus sõltub tegelikust graafikust, kujunditest, operatsioonidest ja valitud tööriistaahelast. Looge tugi tarnitava mudeli teisendamise ja seadmesisese valideerimise kaudu.
Kas reklaamitud kiirendi reiting ennustab rakenduse FPS-i?
Ei. Võrk, täpsus, mälu käitumine, eeltöötlus ja käitusaeg määravad rakenduse mõõdetud läbilaskevõime. Platvormide võrdlemisel kasutage sihttöökoormust ja selle täielikku andmeteed.
Kas ma peaksin kõigepealt optimeerima närvivõrgu?
Esiteks profiil. Kui domineerib hankimine, kujutise teisendamine või järjekorda seadmine, võib mudeli täitmisaja lühendamine rakenduse kogetud tulemuste vanusele vähe mõjutada.
Võrrelge täielikku arvutinägemise ülesannet
Objekti tuvastamise rakenduse puhul mõõtke kaamera jäädvustamist, suuruse muutmist ja normaliseerimist, NPU järeldusi, väljundi dekodeerimist ja otsuse edastamist. Teatage mudeli versioon, sisendi eraldusvõime, täpsus, usalduslävi ja hindamise andmestik koos ajastuse tulemusega. Vastasel juhul võivad kaks näiliselt sarnast edge AI etaloni kirjeldada erinevaid ülesandeid.
Enne mudeliarhitektuurile pühendumist testige eksporditud graafikut ja vajalikke operaatoreid läbi valitud RKNN tööriistaahela. Kontrollige täpsust pärast kvantiseerimist ja käitumist pideva täitmise ajal, mitte ainult seda, kas teisendamine õnnestub. Objektide tuvastamisel, segmenteerimisel ja klassifitseerimisel on erinevad väljundi töötlemise kulud; kinnitada projekti jaoks valitud tegelik töökoormus.
Võrrelge kujundusrolle FPGA, NPU ja MPU
Tehnilised viited
Piirake oma edge AI töökoormust.
Jagage mudelit, sisendi eraldusvõimet, kaamera liideseid, nõutavat tulemussagedust ja võimsuse ümbermõõtu. Saame hinnata integratsioonitööd RK3588-põhise servaplatvormi ümber.
