Kuinka RK3588 NPU -ohjelmistopino sopii yhteen
Rockchip:n RKNN-ohjelmistopino erottaa mallin valmistelun suorituksesta laitteella. RKNN-Toolkit2 tarjoaa muunnos- ja arviointityökaluja. RKNN-Toolkit-Lite2 tarjoaa Python-liitännän tuetuille kohdealustoille, kun taas RKNN Runtime tarjoaa C/C++-liitännät. Ytimen ajuri yhdistää suoritusajan NPU:hen. Tarkista näiden komponenttien yhteensopivuus moduulisi mukana toimitetun levytukipaketin kanssa.
Hyödyllinen käyttöönottotietue tunnistaa levyn ja SoM-version, Linux-kuvan, ohjaimen, ajonajan, muunnostyökalun version, alkuperäisen mallin ja muunnetun mallin. Tallenna rakennuskomentosarja ja esikäsittelyasetukset malliartefaktin viereen. Tiedostonimi, kuten detector.rknn Yksin ei voida selittää, miksi yksi käyttöönotto toimii eri tavalla kuin toinen.
Vaihe 1: luo viite ennen muuntamista
Suorita alkuperäinen malli edustavalla vahvistusjoukolla. Tallenna raakatulokset ja tärkeä sovellusmittari: luokittelutarkkuus, tunnistuksen laatu tai muu tehtäväkohtainen mitta. Säilytä ilmaisimen etikettien järjestys, luottamuskynnykset ja jälkikäsittelyasetukset. Tästä tulee muunnetun mallin vertailukohta.
Kirjoita koko syöttösopimus muistiin. Sisällytä mitat, eräkoko, RGB- tai BGR-järjestys, asettelu, numeerinen alue, normalisointi, koon muuttaminen ja täyte. Oikea malli voi tuottaa huonoja tuloksia, jos sovellus postittaa kuvan eri tavalla kuin harjoittelussa tai vähentää siirtymän kahdesti. Pidä verkon ulkopuolella tapahtuva jälkikäsittely dokumentoituna yhtä huolellisesti.
Käytä Rockchip:tä RKNN-mallieläintarha lähtökohtana, kun se sisältää vastaavan mallin ja kohteen. Sen muunnos- ja päättelyesimerkit ovat hyödyllisempiä kuin olettaminen, että mikä tahansa viety verkko toimii muuttumattomana. Valitse tunnettu arkiston versio ja noudata kyseisen esimerkin ohjeita.
Vaihe 2: muunna malli ja tarkista operaattorin tuki
- Sovita tavoite. Valitse RK3588-kohde ja työkaluketju, joka on yhteensopiva aiotun levykuvan kanssa.
- Tarkista kaavio. Vahvista muodot, esikäsittely, lähdöt ja tuki todellisille toiminnoille vietyssä mallissa.
- Luo viitemuunnos. Käytä kyseisen kaavion ja ohjelmistoversion tukemia tarkkuusvaihtoehtoja.
- Lue koko rakennusloki. Ratkaise virheet ja tutki varoitukset ennen kameran hankinnan tai käyttöliittymän lisäämistä.
- Vertaa ulostuloja. Suorita samat tulot alkuperäisen ja muunnetun mallin läpi samalla jälkikäsittelyllä.
Toiminto, jota ei tueta, voi vaatia erilaisen viennin, kaavion uudelleenkirjoituksen tai nimenomaisen suorittimen käsittelyvaiheen. Älä oleta, että suoritusaika suorittaa läpinäkyvästi kaikki ei-tuetut tasot. Jos osa työmäärästä siirtyy CPU:lle, sisällytä siirrot ja synkronointi suorituskyvyn mittaukseen.
Vaihe 3: arvioi INT8 tarkkuusvaatimustasi vasten
Kvantisointi muuttaa numeerista esitystapaa. Kun valittu muunnosvirta käyttää kalibrointitietoja, valitse käyttöönottoa edustavat syötteet: valaistus, objektin koko, tausta ja käyttöolosuhteet. Pidä erillinen validointisarja tuloksen arvioimiseksi. Onnistuneesti valmistuneen muunnos vaatii silti tarkkuustarkistuksen.
Vertaa sovelluksen tulosta, ei vain kahden tensorin eroa. Esimerkiksi pieni numeerinen muutos voi siirtää havainnon luottamuskynnyksen yli. Tarkastele vaikeita tapauksia, luokkia muutamalla esimerkillä ja ehtoja, joissa alkuperäinen malli oli jo marginaalinen. Jos tarkkuus laskee alle hyväksymisrajan, tarkista kalibroinnin kattavuus ja esikäsittely ennen laitteiston vaihtamista.
The ONNX Ajonaikaisen kvantisoinnin dokumentaatio on hyödyllinen tausta numeerisissa kompromisseissa ja tarkkuustutkimuksessa. RKNN-muunnosvaihtoehdot ja tuettu tarkkuus on silti tarkistettava Rockchip:n omasta dokumentaatiosta valitulle julkaisulle.
Vaihe 4: mittaa enemmän kuin päättelyaika
Mittaa käytetty työkuormitus lämmittelyn jälkeen ja uudelleen jatkuvan ajon aikana. Tallenna lämpötila, tehotila, samanaikaiset prosessit ja kotelo tai jäähdytysjärjestely. Hyödyllinen tulos on toistettava suorituskyky, mukaan lukien tarkkuus ja viive, olosuhteissa, joissa tuote toimii.
| Mittaus | Mitä se vastaa | Mitä tallentaa |
|---|---|---|
| Mallin suoritusaika | Kuinka kauan tämä ajonaikainen puhelu kestää? | Syöttömuoto, tarkkuus, ajoitusrajat ja ajonaikainen versio |
| Päästä päähän -viive | Kuinka vanha havainto on, kun tulos toimitetaan? | Tallennusaika, esikäsittely, jonottaminen, päättely ja tulostusaika |
| Jatkuva läpimeno | Kuinka monta valmiita tuloksia toimitetaan ajan kuluessa? | Ajon pituus, suoritetut pyynnöt ja hylätyt tai ohitetut syötteet |
| Sovelluksen tarkkuus | Täyttääkö käyttöön otettu malli tehtävän vaatimuksen? | Validointijoukko, tehtävämittari ja päätöskynnykset |
| Lämpökäyttäytyminen | Onko tulos vakaa järjestelmän lämpenemisen jälkeen? | Ympäristöolosuhteet, jäähdytys, lämpötilat ja kellot mahdollisuuksien mukaan |
Havainnollistavana budjettina voidaan todeta, että sovelluksen, joka vastaanottaa uuden kehyksen joka 40 ms, on pysyttävä 25-kehysten sekunnissa, jos se käsittelee jokaisen kehyksen. 12 ms:n päättelymittaus jättäisi loput budjetista hankintaan, valmisteluun ja toimitukseen vain sopivasti ajoitettuun suunnitteluun. Se ei todista 12 ms:n kameran ja tuloksen välistä viivettä. Nämä luvut ovat suunnitteluesimerkki, eivät mitattu ForgeEdge-suorituskyky.
Käytä monotonista kelloa ohjelmiston kestoihin. Raportoi mediaani- ja hännän latenssi yksittäisen parhaan havainnon sijaan ja säilytä raakamittaukset. Ota huomioon useiden kameroiden kaikkien aktiivisten streamien kuormitus, mukaan lukien dekoodaus, kuvan muuntaminen, muistin siirto ja tallennus. Jono, joka kasvaa koko testin ajan, osoittaa, että keskimääräinen kapasiteetti on alle tulevan työmäärän.
Yleiset käyttöönoton oireet
| Oire | Ensimmäinen tutkinta |
|---|---|
| Oikea malli, väärät tarrat tai laatikot | Värijärjestys, normalisointi, koon muuttaminen/täyttö, tulosteen asettelu ja jälkikäsittely |
| Muunnettua mallia ei voi alustaa | Kohteen valinta, suoritusaika/ohjain yhteensopivuus ja malliartefaktin eheys |
| Hyvä lyhyt vertailuarvo, huono jatkuva suorituskyky | Lämpötila, tehotila, muistipaine ja kilpailevat työt |
| Hyväksyttävä päättelyaika, näkyvästi viivästyneet tulokset | Kaappaa puskurointi, jonon ikä, kopiot ja tulostuksen ajoitus |
| INT8-lähtö menettää hyödylliset tunnistukset | Kalibroinnin kattavuus, esikäsittelyn vastaavuus ja tehtävätason validointi |
Tee prototyypistä toistettava tuote
Pakkaa malli, suoritusaika ja sovelluksen kokoonpano ohjattuna julkaisuna. Määritä käynnistystarkistukset, virheraportointi, palautus ja palautuspolku. Pidä pieni vertailutulotesti, joka voi tunnistaa virheellisen käyttöönoton, ennen kuin kamera kytketään. Erota tämä ohjelmistotarkistus fyysisen sensorin testistä, joka myös harjoittelee kaapelointia, ohjaimia ja valotusasetuksia.
Kun kortti tarvitsee erilaisia liittimiä, tehonsäätöjä tai anturiliitäntöjä, tarkista SoM vs. SBC -päätös ja kantajakortti suunnitteluprosessi. Nämä päätökset määräävät, kuinka onnistuneesta malliesittelystä tulee ylläpidettävä järjestelmä.
RK3588 NPU käyttöönoton kysymyksiä
Voivatko kaikki ONNX-mallit toimia mallissa RK3588 NPU?
Yhteensopivuus riippuu todellisesta kuvaajasta, muodoista, operaatioista ja valitusta työkaluketjusta. Luo tuki muuntamalla ja laitteessa validoimalla malli, jonka aiot lähettää.
Ennustaako mainostettu kiihdytinluokitus sovelluksen FPS:ää?
Ei. Verkko, tarkkuus, muistin käyttäytyminen, esikäsittely ja ajonaika määrittävät sovelluksen mitatun suorituskyvyn. Käytä tavoitetyökuormaa ja sen täydellistä tietopolkua alustoja vertaillessasi.
Pitäisikö minun ensin optimoida neuroverkko?
Profiili ensin. Jos hankinta, kuvan muuntaminen tai jonottaminen hallitsee, mallin suoritusajan lyhentämisellä voi olla vain vähän vaikutusta sovelluksen kokemaan tulosikään.
Testaa koko tietokonenäkötehtävä
Kohteentunnistussovelluksessa mittaa kameran sieppaus, koon muuttaminen ja normalisointi, NPU-johtopäätös, lähdön dekoodaus ja päätöksen toimittaminen. Ilmoita mallin versio, syöttöresoluutio, tarkkuus, luottamuskynnys ja arviointitietosarja ajoitustuloksen kanssa. Muuten kaksi näennäisesti samanlaista reuna-AI-vertailuarvoa voivat kuvata erilaisia tehtäviä.
Testaa vietyä kuvaajaa ja tarvittavat operaattorit valitun RKNN-työkaluketjun kautta ennen kuin sitoudut malliarkkitehtuuriin. Tarkista tarkkuus kvantisoinnin jälkeen ja käyttäytyminen jatkuvan suorituksen aikana, ei vain muuntamisen onnistumista. Objektien havaitsemisella, segmentoinnilla ja luokittelulla on erilaiset tulosten käsittelykustannukset; vahvistaa projektille valitun todellisen työmäärän.
Vertaa FPGA-, NPU- ja MPU-suunnittelurooleja
Tekniset referenssit
Selvitä reuna-AI-työkuormasi.
Jaa malli, tuloresoluutio, kameraliitännät, vaadittu tulosnopeus ja tehon kirjekuori. Voimme arvioida integrointityötä RK3588-pohjaisen reuna-alustan ympärillä.
