Ako do seba zapadá softvérový balík RK3588 NPU

Softvérový balík RKNN Rockchip oddeľuje prípravu modelu od vykonávania na zariadení. RKNN-Toolkit2 poskytuje nástroje na konverziu a hodnotenie. RKNN-Toolkit-Lite2 poskytuje rozhranie Python na podporovaných cieľových platformách, zatiaľ čo RKNN Runtime poskytuje rozhrania C/C++. Ovládač jadra pripája runtime k NPU. Skontrolujte kompatibilitu týchto komponentov s balíkom podpory dosky dodaným pre váš modul.

Užitočný záznam o nasadení identifikuje dosku a revíziu SoM, obraz Linux, ovládač, runtime, verziu nástroja na konverziu, pôvodný model a konvertovaný model. Uložte skript zostavy a nastavenia predbežného spracovania vedľa artefaktu modelu. Názov súboru ako napr detector.rknn sám o sebe nedokáže vysvetliť, prečo sa jedno nasadenie správa inak ako iné.

Pripravte saReferenčný model, vstupy a očakávané výstupy
KonvertovaťCieľová konfigurácia a kontrola presnosti
NasadiťRuntime, aplikácia a trvalé testovanie

Krok 1: vytvorte referenciu pred konverziou

Spustite pôvodný model na reprezentatívnej overovacej súprave. Uložte nespracované výstupy a metriku aplikácie, na ktorej záleží: presnosť klasifikácie, kvalita detekcie alebo iné opatrenie špecifické pre danú úlohu. V prípade detektora zachovajte poradie štítkov, prahové hodnoty spoľahlivosti a nastavenia následného spracovania. Toto sa stane porovnávacím bodom pre konvertovaný model.

Zapíšte si celú zmluvu o vstupe. Zahŕňa rozmery, veľkosť dávky, usporiadanie RGB alebo BGR, rozloženie, číselný rozsah, normalizáciu, zmenu veľkosti a výplň. Správny model môže priniesť zlé výsledky, ak aplikácia upraví obrázok inak ako nácvik alebo dvakrát odpočíta posun. Rovnako starostlivo zdokumentujte postprocesing mimo siete.

Použite Rockchip Model RKNN Zoo ako východiskový bod, keď zahŕňa zodpovedajúci model a cieľ. Jeho príklady konverzie a odvodenia sú užitočnejšie ako predpokladať, že akákoľvek exportovaná sieť bude fungovať nezmenená. Vyberte známu revíziu archívu a postupujte podľa pokynov pre konkrétny príklad.

Krok 2: konvertujte model a skontrolujte podporu operátora

  1. Priraďte cieľ. Vyberte cieľ RK3588 a reťazec nástrojov kompatibilný so zamýšľaným obrázkom dosky.
  2. Skontrolujte graf. Potvrďte tvary, predspracovanie, výstupy a podporu pre skutočné operácie v exportovanom modeli.
  3. Vytvorte referenčnú konverziu. Použite možnosti presnosti podporované daným grafom a verziou softvéru.
  4. Prečítajte si celý denník zostavenia. Pred pridaním snímania kamery alebo používateľského rozhrania vyriešte zlyhania a preskúmajte varovania.
  5. Porovnajte výstupy. Spustite rovnaké vstupy cez pôvodné a konvertované modely s rovnakým postprocesingom.

Nepodporovaná operácia môže vyžadovať iný export, prepísanie grafu alebo explicitnú fázu spracovania CPU. Nepredpokladajte, že runtime bude transparentne vykonávať každú nepodporovanú vrstvu. Ak sa časť pracovnej záťaže presunie na CPU, zahrňte prenosy a synchronizáciu do merania výkonu.

Krok 3: vyhodnoťte INT8 oproti vašej požiadavke na presnosť

Kvantovanie mení číselnú reprezentáciu. Keď vybraný tok konverzie používa kalibračné údaje, vyberte vstupy reprezentujúce nasadenie: osvetlenie, veľkosť objektu, pozadie a prevádzkové podmienky. Na vyhodnotenie výsledku si ponechajte samostatnú sadu validácie. Konverzia, ktorá sa úspešne dokončí, ešte potrebuje kontrolu presnosti.

Porovnajte výstup aplikácie, nielen rozdiel medzi dvoma tenzormi. Napríklad malá numerická zmena môže posunúť detekciu cez hranicu spoľahlivosti. Skontrolujte zložité prípady, triedy s niekoľkými príkladmi a podmienkami, kde bol pôvodný model už marginálny. Ak presnosť klesne pod prijateľný limit, pred výmenou hardvéru znova skontrolujte pokrytie kalibrácie a predbežné spracovanie.

The ONNX Runtime kvantizačná dokumentácia je užitočný základ pre numerické kompromisy a skúmanie presnosti. Možnosti prevodu RKNN a podporovaná presnosť musia byť stále kontrolované vo vlastnej dokumentácii Rockchip pre vybrané vydanie.

Krok 4: zmerajte viac než len inferenčný čas

Zmerajte pracovné zaťaženie po zahriatí a znova počas nepretržitého behu. Zaznamenajte teplotu, režim výkonu, súbežné procesy a usporiadanie kryt alebo chladenia. Užitočným výsledkom je reprodukovateľná obálka výkonu vrátane presnosti a oneskorenia v podmienkach, v ktorých bude produkt fungovať.

MeranieČo odpovedáČo zaznamenať
Trvanie realizácie modeluAko dlho trvá tento runtime hovor?Vstupný tvar, presnosť, hranice načasovania a verzia runtime
End-to-end latenciaAké staré je pozorovanie, keď je doručený výsledok?Čas zachytenia, predspracovanie, radenie, odvodenie a výstupný čas
Trvalá priepustnosťKoľko dokončených výsledkov sa doručí v priebehu času?Dĺžka spustenia, dokončené požiadavky a vynechané alebo preskočené vstupy
Presnosť aplikácieSpĺňa nasadený model požiadavku úlohy?Validačný súbor, metrika úlohy a rozhodovacie prahy
Tepelné správanieJe výsledok po zahriatí systému stabilný?Okolité podmienky, chladenie, teploty a hodiny, ak sú k dispozícii

Ako ilustratívny rozpočet, aplikácia prijímajúca nový rámec každých 40 ms musí držať krok so 25 snímkami za sekundu, ak spracováva každý rámec. Inferenčné meranie 12 ms by ponechalo zvyšok tohto rozpočtu na akvizíciu, prípravu a dodávku iba vo vhodne naplánovanom dizajne. Nedokazuje oneskorenie 12 ms medzi kamerou a výsledkom. Tieto čísla sú príkladom plánovania, nie meraným výkonom ForgeEdge.

Na trvanie softvéru používajte monotónne hodiny. Nahláste radšej strednú a chvostovú latenciu než jediné najlepšie pozorovanie a zachovajte nespracované merania. Pre niekoľko kamier zohľadnite pracovné zaťaženie všetkých aktívnych streamov vrátane dekódovania, konverzie obrazu, presunu pamäte a nahrávania. Front, ktorý počas testu rastie, naznačuje, že priemerná kapacita je pod prichádzajúcou záťažou.

Bežné príznaky nasadenia

SymptómPrvé vyšetrovanie
Správny model, nesprávne štítky alebo krabicePoradie farieb, normalizácia, zmena veľkosti/výplň, rozloženie výstupu a následné spracovanie
Skonvertovaný model sa nedá inicializovaťVýber cieľa, kompatibilita runtime/ovládač a integrita artefaktov modelu
Dobrý krátky benchmark, slabý trvalý výkonTeplota, režim výkonu, tlak pamäte a súťažná práca
Prijateľný čas odvodenia, viditeľne oneskorené výsledkyZaznamenajte ukladanie do vyrovnávacej pamäte, vek frontu, kópie a plánovanie výstupu
Výstup INT8 stráca užitočné detekciePokrytie kalibrácie, ekvivalencia predspracovania a validácia na úrovni úlohy

Premeňte prototyp na opakovateľný produkt

Zabaľte model, runtime a konfiguráciu aplikácie ako riadené vydanie. Definujte kontroly spustenia, hlásenie zlyhania, obnovu a cestu vrátenia. Pred pripojením kamery urobte malý test referenčného vstupu, ktorý dokáže identifikovať nesprávne nasadenie. Oddeľte túto softvérovú kontrolu od fyzického testu snímača, ktorý tiež cvičí kabeláž, ovládače a nastavenia expozície.

Ak doska potrebuje rôzne konektory, úpravu napájania alebo rozhrania snímačov, pozrite si Rozhodnutie SoM verzus SBC a Proces navrhovania nosná doska. Tieto rozhodnutia určujú, ako sa úspešná demonštrácia modelu stane udržiavateľným systémom.

Otázky týkajúce sa nasadenia RK3588 NPU

Môže každý model ONNX bežať na RK3588 NPU?

Kompatibilita závisí od aktuálneho grafu, tvarov, operácií a zvoleného súboru nástrojov. Vytvorte si podporu prostredníctvom konverzie a overenia na zariadení modelu, ktorý chcete dodať.

Predpovedá inzerované hodnotenie akcelerátora FPS aplikácie?

Nie. Sieť, presnosť, správanie pamäte, predspracovanie a doba behu určujú meranú priepustnosť aplikácie. Pri porovnávaní platforiem použite cieľové pracovné zaťaženie a jeho úplnú dátovú cestu.

Mám najprv optimalizovať neurónovú sieť?

Najprv profil. Ak dominuje získavanie, konverzia obrázkov alebo radenie, skrátenie času vykonávania modelu môže mať malý vplyv na vek výsledku, ktorý aplikácia zažíva.

Porovnajte kompletnú úlohu počítačového videnia

V prípade aplikácie na detekciu objektov zmerajte snímanie kamery, zmenu veľkosti a normalizáciu, odvodenie NPU, dekódovanie výstupu a doručenie rozhodnutia. Oznámte verziu modelu, vstupné rozlíšenie, presnosť, prah spoľahlivosti a hodnotiaci súbor údajov s výsledkom časovania. V opačnom prípade môžu dva zdanlivo podobné referenčné hodnoty Edge AI opisovať rôzne úlohy.

Otestujte exportovaný graf a požadované operátory prostredníctvom vybranej skupiny nástrojov RKNN predtým, než sa zapojíte do architektúry modelu. Skontrolujte presnosť po kvantizácii a správanie počas nepretržitého vykonávania, nielen to, či je konverzia úspešná. Detekcia objektov, segmentácia a klasifikácia majú rôzne výstupné náklady na spracovanie; overiť skutočné pracovné zaťaženie zvolené pre projekt.

Porovnajte roly dizajnu FPGA, NPU a MPU

Technické referencie

Rozšírte svoje pracovné zaťaženie Edge AI.

Zdieľajte model, vstupné rozlíšenie, rozhrania fotoaparátu, požadovanú mieru výsledkov a obálku výkonu. Môžeme posúdiť integračnú prácu okolo okrajovej platformy založenej na RK3588.