Jak do sebe sada softwaru RK3588 NPU zapadá

Softwarový zásobník Rockchip RKNN odděluje přípravu modelu od provádění na zařízení. RKNN-Toolkit2 poskytuje převodní a vyhodnocovací nástroje. RKNN-Toolkit-Lite2 poskytuje rozhraní Python na podporovaných cílových platformách, zatímco RKNN Runtime poskytuje rozhraní C/C++. Ovladač jádra připojuje runtime k NPU. Zkontrolujte kompatibilitu těchto komponent s podpůrným balíčkem desky dodávaným k vašemu modulu.

Užitečný záznam o nasazení identifikuje desku a revizi SoM, obraz Linux, ovladač, runtime, verzi konverzního nástroje, původní model a převedený model. Uložte skript sestavení a nastavení předběžného zpracování vedle artefaktu modelu. Název souboru jako např detector.rknn sám o sobě nemůže vysvětlit, proč se jedno nasazení chová jinak než jiné.

Připravte seReferenční model, vstupy a očekávané výstupy
PřevéstKonfigurace cíle a kontroly přesnosti
NasaditRuntime, aplikace a trvalé testování

Krok 1: vytvořte referenci před převodem

Spusťte původní model na reprezentativní ověřovací sadě. Uložte nezpracované výstupy a metriku aplikace, na které záleží: přesnost klasifikace, kvalita detekce nebo jiné měření specifické pro daný úkol. U detektoru zachovejte pořadí štítků, prahové hodnoty spolehlivosti a nastavení následného zpracování. To se stane srovnávacím bodem pro převedený model.

Sepište si celou vstupní smlouvu. Zahrnuje rozměry, velikost dávky, řazení RGB nebo BGR, rozvržení, číselný rozsah, normalizaci, změnu velikosti a výplň. Správný model může přinést špatné výsledky, pokud aplikace upraví obrázek jinak než trénování nebo dvakrát odečte posun. Stejně pečlivě zdokumentujte postprocessing mimo síť.

Použijte Rockchip's Model Zoo RKNN jako výchozí bod, když zahrnuje odpovídající model a cíl. Jeho příklady převodu a odvození jsou užitečnější než předpokládat, že jakákoli exportovaná síť bude fungovat beze změny. Vyberte známou revizi úložiště a postupujte podle pokynů pro tento konkrétní příklad.

Krok 2: převeďte model a zkontrolujte podporu operátora

  1. Přizpůsobte cíl. Vyberte cíl RK3588 a sadu nástrojů kompatibilní se zamýšleným obrázkem desky.
  2. Prohlédněte si graf. Potvrďte tvary, předzpracování, výstupy a podporu pro skutečné operace v exportovaném modelu.
  3. Vytvořte referenční konverzi. Použijte možnosti přesnosti podporované daným grafem a verzí softwaru.
  4. Přečtěte si celý protokol sestavení. Před přidáním snímání kamery nebo uživatelského rozhraní vyřešte chyby a prozkoumejte varování.
  5. Porovnejte výstupy. Spusťte stejné vstupy přes původní a převedené modely se stejným postprocesingem.

Nepodporovaná operace může vyžadovat jiný export, přepsání grafu nebo explicitní fázi zpracování CPU. Nepředpokládejte, že runtime bude transparentně provádět každou nepodporovanou vrstvu. Pokud se část zátěže přesune na CPU, zahrňte do měření výkonu přenosy a synchronizaci.

Krok 3: vyhodnoťte INT8 podle vašeho požadavku na přesnost

Kvantování mění číselnou reprezentaci. Když vybraný tok konverze používá kalibrační data, vyberte vstupy reprezentující nasazení: osvětlení, velikost objektu, pozadí a provozní podmínky. Pro vyhodnocení výsledku si ponechte samostatnou sadu ověřování. Převod, který se úspěšně dokončí, ještě potřebuje kontrolu přesnosti.

Porovnejte výstup aplikace, nejen rozdíl mezi dvěma tenzory. Například malá numerická změna může posunout detekci přes práh spolehlivosti. Prohlédněte si složité případy, třídy s několika příklady a podmínkami, kde byl původní model již okrajový. Pokud přesnost klesne pod limit přijatelnosti, před výměnou hardwaru znovu zkontrolujte pokrytí kalibrace a předběžné zpracování.

The ONNX Runtime kvantizační dokumentace je užitečný základ pro numerické kompromisy a vyšetřování přesnosti. Možnosti převodu RKNN a podporovaná přesnost musí být stále kontrolovány ve vlastní dokumentaci Rockchip pro vybranou verzi.

Krok 4: měřte více než inferenční čas

Změřte pracovní zátěž po zahřátí a znovu během trvalého běhu. Zaznamenávejte teplotu, režim výkonu, souběžné procesy a uspořádání krytu nebo chlazení. Užitečným výsledkem je reprodukovatelná obálka výkonu, včetně přesnosti a zpoždění, za podmínek, ve kterých bude produkt fungovat.

MěřeníCo to odpovídáCo zaznamenat
Délka provádění modeluJak dlouho trvá toto runtime volání?Vstupní tvar, přesnost, hranice časování a verze za běhu
End-to-end latenceJak staré je pozorování při doručení výsledku?Čas zachycení, předběžné zpracování, řazení do fronty, odvození a čas výstupu
Trvalá propustnostKolik dokončených výsledků je v průběhu času doručeno?Délka běhu, dokončené požadavky a vynechané nebo přeskočené vstupy
Přesnost aplikaceSplňuje nasazený model požadavek úkolu?Sada ověření, metrika úkolu a prahy rozhodování
Tepelné chováníJe výsledek po zahřátí systému stabilní?Okolní podmínky, chlazení, teploty a hodiny, pokud jsou k dispozici

Jako ilustrativní rozpočet, aplikace přijímající nový snímek každou 40 ms musí držet krok s 25 snímky za sekundu, pokud zpracovává každý snímek. Inferenční měření 12 ms by ponechalo zbytek tohoto rozpočtu na pořízení, přípravu a dodávku pouze ve vhodně naplánovaném návrhu. Neprokazuje zpoždění 12 ms mezi kamerou a výsledkem. Tato čísla jsou příkladem plánování, nikoli měřeným výkonem ForgeEdge.

Použijte monotónní hodiny pro trvání softwaru. Uveďte spíše střední a koncovou latenci než jediné nejlepší pozorování a zachovejte nezpracovaná měření. U několika kamer počítejte s pracovní zátěží všech aktivních toků, včetně dekódování, konverze obrazu, přesunu paměti a nahrávání. Fronta, která během testu narůstá, ukazuje, že průměrná kapacita je nižší než příchozí pracovní zátěž.

Běžné příznaky nasazení

SymptomPrvní vyšetřování
Správný model, nesprávné štítky nebo krabicePořadí barev, normalizace, změna velikosti/výplň, rozložení výstupu a postprocessing
Převedený model nelze inicializovatVýběr cíle, kompatibilita runtime/ovladač a integrita artefaktů modelu
Dobrý krátký benchmark, slabý trvalý výkonTeplota, režim výkonu, tlak paměti a konkurenční práce
Přijatelná inferenční doba, viditelně opožděné výsledkyZachyťte ukládání do vyrovnávací paměti, stáří fronty, kopírování a plánování výstupu
Výstup INT8 ztrácí užitečné detekcePokrytí kalibrace, ekvivalence předzpracování a ověření na úrovni úlohy

Proměňte prototyp v opakovatelný produkt

Zabalte model, runtime a konfiguraci aplikace jako řízenou verzi. Definujte kontroly spouštění, hlášení selhání, obnovu a cestu vrácení. Před připojením kamery proveďte malý test referenčního vstupu, který dokáže identifikovat nesprávné nasazení. Oddělte tuto kontrolu softwaru od testu fyzického senzoru, který také procvičuje nastavení kabeláže, ovladačů a expozice.

Pokud deska potřebuje různé konektory, úpravu napájení nebo rozhraní snímačů, prohlédněte si Rozhodnutí SoM versus SBC a postup návrhu nosné desky. Tato rozhodnutí určují, jak se z úspěšné demonstrace modelu stane udržovatelný systém.

Otázky týkající se nasazení RK3588 NPU

Může každý model ONNX běžet na RK3588 NPU?

Kompatibilita závisí na aktuálním grafu, tvarech, operacích a vybraném nástrojovém řetězci. Zajistěte si podporu prostřednictvím konverze a ověření na zařízení modelu, který hodláte dodat.

Předpovídá hodnocení inzerovaného akcelerátoru FPS aplikace?

Ne. Síť, přesnost, chování paměti, předběžné zpracování a doba běhu určují měřenou propustnost aplikace. Při porovnávání platforem použijte cílovou zátěž a její úplnou datovou cestu.

Mám nejprve optimalizovat neuronovou síť?

Nejprve profil. Pokud dominuje akvizice, konverze obrazu nebo řazení do fronty, může mít zkrácení doby provádění modelu malý vliv na stáří výsledků, které aplikace pociťuje.

Porovnejte kompletní úlohu počítačového vidění

U aplikací pro detekci objektů změřte zachycení kamery, změnu velikosti a normalizaci, odvození NPU, dekódování výstupu a doručení rozhodnutí. Oznamte verzi modelu, vstupní rozlišení, přesnost, práh spolehlivosti a sadu dat hodnocení s výsledkem časování. Jinak dva zdánlivě podobné benchmarky Edge AI mohou popisovat různé úkoly.

Než se pustíte do architektury modelu, otestujte exportovaný graf a požadované operátory prostřednictvím vybraného řetězce nástrojů RKNN. Zkontrolujte přesnost po kvantizaci a chování během trvalého provádění, nejen to, zda je konverze úspěšná. Detekce, segmentace a klasifikace objektů mají různé výstupní náklady na zpracování; ověřit skutečnou pracovní zátěž zvolenou pro projekt.

Porovnejte role designu FPGA, NPU a MPU

Technické reference

Rozšiřte svou pracovní zátěž Edge AI.

Sdílejte model, vstupní rozlišení, rozhraní fotoaparátu, požadovanou míru výsledků a obálku výkonu. Můžeme posoudit integrační práci kolem platformy založené na RK3588 pro místní zpracování.