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é.
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
- Přizpůsobte cíl. Vyberte cíl RK3588 a sadu nástrojů kompatibilní se zamýšleným obrázkem desky.
- Prohlédněte si graf. Potvrďte tvary, předzpracování, výstupy a podporu pro skutečné operace v exportovaném modelu.
- Vytvořte referenční konverzi. Použijte možnosti přesnosti podporované daným grafem a verzí softwaru.
- 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í.
- 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í modelu | Jak dlouho trvá toto runtime volání? | Vstupní tvar, přesnost, hranice časování a verze za běhu |
| End-to-end latence | Jak 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á propustnost | Kolik 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 aplikace | Splň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í
| Symptom | První vyšetřování |
|---|---|
| Správný model, nesprávné štítky nebo krabice | Pořadí barev, normalizace, změna velikosti/výplň, rozložení výstupu a postprocessing |
| Převedený model nelze inicializovat | Výběr cíle, kompatibilita runtime/ovladač a integrita artefaktů modelu |
| Dobrý krátký benchmark, slabý trvalý výkon | Teplota, režim výkonu, tlak paměti a konkurenční práce |
| Přijatelná inferenční doba, viditelně opožděné výsledky | Zachyť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é detekce | Pokrytí 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í.
