Hogyan illeszkedik egymáshoz a RK3588 NPU szoftvercsomag

A Rockchip RKNN szoftvercsomagja elválasztja a modell-előkészítést az eszközön történő végrehajtástól. A RKNN-Toolkit2 konverziós és kiértékelő eszközöket biztosít. A RKNN-Toolkit-Lite2 Python interfészt biztosít a támogatott célplatformokon, míg a RKNN Runtime C/C++ interfészt. A kernel-illesztőprogram összekapcsolja a futási környezetet a NPU-vel. Ellenőrizze ezeknek az összetevőknek a kompatibilitását a modulhoz mellékelt kártyatartó csomaggal.

Egy hasznos telepítési rekord azonosítja a kártyát és a SoM verziót, a Linux lemezképet, az illesztőprogramot, a futtatókörnyezetet, a konvertáló eszköz verzióját, az eredeti modellt és az átalakított modellt. Mentse az összeállítási szkriptet és az előfeldolgozási beállításokat a modell mellékterméke mellé. Egy fájlnév, mint pl detector.rknn önmagában nem tudja megmagyarázni, hogy az egyik telepítés miért viselkedik másként, mint a másik.

Készülj felReferenciamodell, bemenetek és várható kimenetek
KonvertálniA célkonfiguráció és a pontosság ellenőrzése
TelepítésFutásidő, alkalmazás és folyamatos tesztelés

1 lépés: hozzon létre egy referenciát az átalakítás előtt

Futtassa az eredeti modellt egy reprezentatív érvényesítési készleten. Mentse el a nyers kimeneteket és a fontos alkalmazási mérőszámot: az osztályozás pontosságát, az észlelési minőséget vagy más feladatspecifikus mértéket. Az érzékelők esetében őrizze meg a címkék sorrendjét, a megbízhatósági küszöbértékeket és az utófeldolgozási beállításokat. Ez lesz az átalakított modell összehasonlítási pontja.

Írja le a teljes beviteli szerződést. Tartalmazza a méreteket, a kötegméretet, az RGB vagy BGR rendezést, az elrendezést, a numerikus tartományt, a normalizálást, az átméretezést és a kitöltést. A helyes modell gyenge eredményeket produkálhat, ha az alkalmazás a betanítástól eltérően helyezi el a képet, vagy kétszer von le egy eltolást. A hálózaton kívüli utófeldolgozást ugyanolyan gondosan dokumentálja.

Használja a Rockchip-t RKNN Modell Állatkert kiindulópontként, ha egy megfelelő modellt és célt tartalmaz. Konverziós és következtetési példái hasznosabbak, mintha azt feltételeznénk, hogy bármely exportált hálózat változatlanul fog működni. Válasszon ki egy ismert lerakat-változatot, és kövesse az adott példa utasításait.

2 lépés: konvertálja a modellt, és ellenőrizze a kezelői támogatást

  1. Egyezik a céllal. Válassza ki a RK3588 célpontot és egy eszközláncot, amely kompatibilis a tervezett tábla képével.
  2. Vizsgálja meg a grafikont. Erősítse meg az alakzatokat, az előfeldolgozást, a kimeneteket és a tényleges műveletek támogatását az exportált modellben.
  3. Referenciakonverzió létrehozása. Használja az adott grafikon és szoftververzió által támogatott precíziós beállításokat.
  4. Olvassa el a teljes építési naplót. Javítsa ki a hibákat, és vizsgálja meg a figyelmeztetéseket, mielőtt hozzáadná a kameraszerzést vagy a felhasználói felületet.
  5. Hasonlítsa össze a kimeneteket. Futtassa ugyanazokat a bemeneteket az eredeti és az átalakított modelleken, ugyanazzal az utófeldolgozással.

Egy nem támogatott művelet más exportálást, grafikon-újraírást vagy explicit CPU-feldolgozási szakaszt igényelhet. Ne feltételezze, hogy a futási környezet minden nem támogatott réteget transzparensen végrehajt. Ha a munkaterhelés egy része a CPU-ra költözik, vegye fel az átviteleket és a szinkronizálást a teljesítménymérésbe.

3 lépés: értékelje a INT8-t a pontossági követelményei alapján

A kvantálás megváltoztatja a numerikus reprezentációt. Ha a kiválasztott konverziós folyamat kalibrációs adatokat használ, válassza ki a telepítésre jellemző bemeneteket: világítás, objektum mérete, háttér és működési feltételek. Tartson külön érvényesítési készletet az eredmény értékeléséhez. A sikeresen befejeződött konverzió pontosságát továbbra is ellenőrizni kell.

Hasonlítsa össze az alkalmazás kimenetét, ne csak a két tenzor közötti különbséget. Például egy kis számszerű változás áthelyezheti az észlelést egy megbízhatósági küszöbön. Vizsgálja meg a nehéz eseteket, osztályokat kevés példával és feltételekkel, ahol az eredeti modell már marginális volt. Ha a pontosság az elfogadási határ alá esik, a hardver cseréje előtt tekintse át újra a kalibrálási lefedettséget és az előfeldolgozást.

A ONNX Futásidejű kvantálási dokumentáció hasznos háttér a numerikus kompromisszumokhoz és a pontosság vizsgálatához. A RKNN átalakítási opciókat és a támogatott pontosságot továbbra is ellenőrizni kell a Rockchip saját dokumentációjában a kiválasztott kiadáshoz.

4 lépés: mérjen többet, mint a következtetési idő

Mérje meg a kihelyezett munkaterhelést a bemelegítés után, majd ismét egy tartós futás közben. Rögzítse a hőmérsékletet, a teljesítmény üzemmódot, az egyidejű folyamatokat és a burkolatot vagy a hűtési elrendezést. A hasznos eredmény egy reprodukálható teljesítmény-boríték, beleértve a pontosságot és a késleltetést is, olyan körülmények között, amelyek között a termék működik.

MérésMit válaszolMit kell rögzíteni
A modell végrehajtásának időtartamaMennyi ideig tart ez a futásidejű hívás?Beviteli alak, pontosság, időzítési határok és futásidejű verzió
Végpontok közötti késleltetésHány éves a megfigyelés az eredmény kézbesítésekor?Rögzítési idő, előfeldolgozás, sorba állítás, következtetés és kimeneti idő
Tartós áteresztőképességHány befejezett eredményt szállítanak az idő múlásával?Futás hossza, teljesített kérések és eldobott vagy kihagyott bevitelek
Alkalmazási pontosságA telepített modell megfelel a feladat követelményeinek?Érvényesítési halmaz, feladatmérő és döntési küszöbök
Termikus viselkedésStabil az eredmény a rendszer felmelegedése után?Környezeti feltételek, hűtés, hőmérsékletek és órák, ahol rendelkezésre állnak

Szemléltető költségvetésként: egy 40 ms-onként új képkockát kapó alkalmazásnak lépést kell tartania a 25 képkockákkal másodpercenként, ha minden képkockát feldolgoz. A 12 ms következtetési mérés a költségvetés fennmaradó részét csak megfelelően ütemezett tervezésben hagyná a beszerzésre, előkészítésre és szállításra. Ez nem bizonyítja a 12 ms kamera-eredmény késleltetést. Ezek a számok tervezési példák, nem mért ForgeEdge teljesítmény.

A szoftver időtartamához használjon monoton órát. Egyetlen legjobb megfigyelés helyett jelentse a medián és a farok késleltetést, és őrizze meg a nyers méréseket. Több kamera esetén vegye figyelembe az összes aktív adatfolyam munkaterhelését, beleértve a dekódolást, a képkonverziót, a memória mozgását és a rögzítést. A teszt során növekvő sor azt jelzi, hogy az átlagos kapacitás a bejövő munkaterhelés alatt van.

Gyakori telepítési tünetek

TünetElső vizsgálat
Megfelelő modell, helytelen címkék vagy dobozokSzínsorrend, normalizálás, átméretezés/kitöltés, kimenetelrendezés és utófeldolgozás
Az átalakított modell nem inicializálhatóCél kiválasztása, futásidejű/illesztőprogram-kompatibilitás és modelltermékek integritása
Jó rövid benchmark, gyenge tartós teljesítményHőmérséklet, teljesítmény mód, memórianyomás és versengő munka
Elfogadható következtetési idő, láthatóan késleltetett eredményekRögzítse a pufferelést, a sor korát, a másolatokat és a kimenet ütemezését
A INT8 kimenet elveszti a hasznos észleléseketKalibrálási lefedettség, előfeldolgozási egyenértékűség és feladat szintű érvényesítés

Változtassa a prototípust megismételhető termékké

Csomagolja be a modellt, a futási környezetet és az alkalmazás konfigurációját ellenőrzött kiadásként. Határozza meg az indítási ellenőrzéseket, a hibajelentéseket, a helyreállítást és a visszaállítási útvonalat. A kamera csatlakoztatása előtt végezzen egy kis referencia-bemeneti tesztet, amely képes azonosítani a helytelen telepítést. Különítse el ezt a szoftveres ellenőrzést a fizikai érzékelőteszttől, amely a kábelezést, az illesztőprogramokat és az expozíciós beállításokat is elvégzi.

Ha az alaplapnak különböző csatlakozókra, tápellátásra vagy érzékelő interfészekre van szüksége, tekintse át a SoM kontra SBC döntés és a alaplap a számítási modul tervezési folyamatához. Ezek a döntések határozzák meg, hogy egy sikeres modellbemutató hogyan válik karbantartható rendszerré.

RK3588 NPU telepítési kérdések

Minden ONNX modell futhat a RK3588 NPU modellen?

A kompatibilitás az aktuális gráftól, alakzatoktól, műveletektől és a kiválasztott eszközlánctól függ. Hozzon létre támogatást a szállítani kívánt modell átalakítása és az eszközön történő ellenőrzése révén.

A meghirdetett gyorsító értékelés előrejelzi az alkalmazás FPS-ét?

Nem. A hálózat, a pontosság, a memória viselkedése, az előfeldolgozás és a futási idő határozza meg az alkalmazás mért átviteli sebességét. A platformok összehasonlításakor használja a megcélzott munkaterhelést és annak teljes adatútvonalát.

Először optimalizáljam a neurális hálózatot?

Először a profil. Ha az adatgyűjtés, a képkonverzió vagy a sorba állítás dominál, a modellvégrehajtási idő csökkentése kevés hatással lehet az alkalmazás által tapasztalt eredmény korára.

Műszaki referenciák

Határozza meg a Edge AI munkaterhelését.

Ossza meg a modellt, a bemeneti felbontást, a kamera interfészeit, a szükséges eredményarányt és a teljesítmény-borítékot. Felmérhetjük az integrációs munkát egy RK3588-alapú platform körül a helyi feldolgozáshoz.