Kaip dera programinės įrangos paketas RK3588 NPU

Rockchip RKNN programinės įrangos paketas atskiria modelio paruošimą nuo vykdymo įrenginyje. RKNN-Toolkit2 teikia konversijos ir vertinimo įrankius. RKNN-Toolkit-Lite2 palaiko Python sąsają palaikomose tikslinėse platformose, o RKNN Runtime – C/C++ sąsajas. Branduolio tvarkyklė sujungia vykdymo laiką su NPU. Patikrinkite šių komponentų suderinamumą su plokštės atramos paketu, pateiktu jūsų moduliui.

Naudingas diegimo įrašas identifikuoja plokštę ir SoM versiją, Linux vaizdą, tvarkyklę, vykdymo laiką, konvertavimo įrankio versiją, originalų modelį ir konvertuotą modelį. Išsaugokite kūrimo scenarijų ir išankstinio apdorojimo nustatymus šalia modelio artefakto. Failo pavadinimas, pvz detector.rknn vien tik negali paaiškinti, kodėl vienas dislokavimas elgiasi kitaip nei kitas.

PasiruoškiteEtaloninis modelis, įėjimai ir numatomi išėjimai
KonvertuotiTikslinės konfigūracijos ir tikslumo patikrinimai
DislokuotiVeikimo laikas, taikymas ir nuolatinis testavimas

1 veiksmas: prieš konvertuodami sukurkite nuorodą

Paleiskite originalų modelį reprezentaciniame patvirtinimo rinkinyje. Išsaugokite neapdorotus rezultatus ir svarbią programos metriką: klasifikavimo tikslumą, aptikimo kokybę ar kitą konkrečios užduoties matą. Jei naudojate detektorių, išsaugokite etikečių tvarką, patikimumo slenksčius ir tolesnio apdorojimo nustatymus. Tai tampa konvertuoto modelio palyginimo tašku.

Užrašykite visą įvesties sutartį. Įtraukite matmenis, partijos dydį, RGB arba BGR tvarką, išdėstymą, skaitinį diapazoną, normalizavimą, dydžio keitimą ir užpildymą. Tinkamas modelis gali duoti prastus rezultatus, jei programa raidžių dėžutėje vaizdas skiriasi nuo mokymo arba du kartus atima poslinkį. Taip pat rūpestingai dokumentuokite tolesnį apdorojimą už tinklo ribų.

Naudokite Rockchip RKNN Modelinis zoologijos sodas kaip atskaitos tašką, kai jis apima atitinkantį modelį ir tikslą. Jo konvertavimo ir išvadų pavyzdžiai yra naudingesni nei manyti, kad bet koks eksportuotas tinklas veiks nepakitęs. Pasirinkite žinomą saugyklos versiją ir vadovaukitės to konkretaus pavyzdžio instrukcijomis.

2 veiksmas: konvertuokite modelį ir patikrinkite operatoriaus palaikymą

  1. Suderinkite tikslą. Pasirinkite RK3588 taikinį ir įrankių grandinę, suderinamą su numatomu lentos vaizdu.
  2. Patikrinkite grafiką. Patvirtinkite formas, išankstinį apdorojimą, išvestis ir faktinių operacijų palaikymą eksportuotame modelyje.
  3. Sukurkite nuorodos konversiją. Naudokite tikslumo parinktis, kurias palaiko tas grafikas ir programinės įrangos versija.
  4. Perskaitykite visą statybos žurnalą. Išspręskite gedimus ir ištirkite įspėjimus prieš pridėdami fotoaparato įsigijimą arba vartotojo sąsają.
  5. Palyginkite rezultatus. Vykdykite tas pačias įvestis per originalius ir konvertuotus modelius su tuo pačiu tolesniu apdorojimu.

Dėl nepalaikomos operacijos gali prireikti kitokio eksporto, grafiko perrašymo arba aiškaus procesoriaus apdorojimo etapo. Nemanykite, kad vykdymo laikas skaidriai vykdys kiekvieną nepalaikomą sluoksnį. Jei dalis darbo krūvio persikelia į centrinį procesorių, įtraukite perkėlimus ir sinchronizavimą į našumo matavimą.

3 veiksmas: įvertinkite INT8 pagal savo tikslumo reikalavimą

Kvantifikavimas pakeičia skaitinį vaizdą. Kai pasirinktame konversijos sraute naudojami kalibravimo duomenys, pasirinkite diegimą atitinkančius įvestis: apšvietimą, objekto dydį, foną ir veikimo sąlygas. Turėkite atskirą patvirtinimo rinkinį, kad įvertintumėte rezultatą. Sėkmingai užbaigtos konversijos tikslumą vis tiek reikia patikrinti.

Palyginkite programos išvestį, o ne tik skirtumą tarp dviejų tenzorių. Pavyzdžiui, nedidelis skaitinis pokytis gali perkelti aptikimą per patikimumo slenkstį. Patikrinkite sudėtingus atvejus, klases su mažais pavyzdžiais ir sąlygas, kai pirminis modelis jau buvo nereikšmingas. Jei tikslumas nukrenta žemiau priimtinumo ribos, prieš keisdami aparatinę įrangą dar kartą peržiūrėkite kalibravimo aprėptį ir išankstinį apdorojimą.

The ONNX Vykdymo laiko kvantavimo dokumentacija yra naudingas skaitmeninių kompromisų ir tikslumo tyrimo pagrindas. RKNN konversijos parinktis ir palaikomas tikslumas vis tiek turi būti patikrintos Rockchip pasirinkto leidimo dokumentuose.

4 veiksmas: išmatuokite daugiau nei išvados laiką

Išmatuokite darbo krūvį po apšilimo ir dar kartą per nuolatinį bėgimą. Įrašykite temperatūrą, galios režimą, tuo pačiu metu vykstančius procesus ir gaubtą arba aušinimo išdėstymą. Naudingas rezultatas yra atkuriamas veikimo vokas, įskaitant tikslumą ir delsą, tokiomis sąlygomis, kuriomis gaminys veiks.

MatavimasKą tai atsakoKą įrašyti
Modelio vykdymo trukmėKiek laiko trunka šis vykdymo laiko skambutis?Įvesties forma, tikslumas, laiko ribos ir vykdymo trukmė
Vėlavimas nuo galo iki galoKiek senas yra stebėjimas, kai pateikiamas rezultatas?Fiksavimo laikas, išankstinis apdorojimas, eilės sudarymas, išvados ir išvesties laikas
Tvarus pralaidumasKiek užbaigtų rezultatų pateikiama laikui bėgant?Vykdymo trukmė, įvykdytos užklausos ir atmestos arba praleistos įvestys
Taikymo tikslumasAr įdiegtas modelis atitinka užduoties reikalavimą?Patvirtinimo rinkinys, užduoties metrika ir sprendimo slenksčiai
Šiluminis elgesysAr įšilus sistemai rezultatas stabilus?Aplinkos sąlygos, vėsinimas, temperatūra ir laikrodžiai, jei yra

Kaip pavyzdinį biudžetą, programa, gaunanti naują kadrą kas 40 ms, turi neatsilikti nuo 25 kadrų per sekundę, jei apdoroja kiekvieną kadrą. Atlikus 12 ms išvadų matavimą, likusį biudžetą įsigijimui, paruošimui ir pristatymui liktų tik tinkamai suplanuotame projekte. Tai neįrodo 12 ms kameros iki rezultato delsos. Šie skaičiai yra planavimo pavyzdys, o ne išmatuotas ForgeEdge našumas.

Programinės įrangos trukmei naudokite monotoninį laikrodį. Praneškite apie vidutinį ir uodegos delsą, o ne apie vieną geriausią stebėjimą, ir išsaugokite neapdorotus matavimus. Kelių kamerų atveju atsižvelkite į visų aktyvių srautų, įskaitant dekodavimą, vaizdo konvertavimą, atminties judėjimą ir įrašymą, darbo krūvį. Testo metu didėjanti eilė rodo, kad vidutinis pajėgumas yra mažesnis už gaunamą darbo krūvį.

Dažni dislokavimo simptomai

SimptomasPirmas tyrimas
Tinkamas modelis, netinkamos etiketės ar dėžutėsSpalvų tvarka, normalizavimas, dydžio keitimas / užpildymas, išvesties išdėstymas ir tolesnis apdorojimas
Konvertuoto modelio negalima inicijuotiTikslo pasirinkimas, vykdymo laikas / tvarkyklės suderinamumas ir modelio artefakto vientisumas
Geras trumpas etalonas, prastas nuolatinis našumasTemperatūra, galios režimas, atminties slėgis ir konkurencinis darbas
Priimtinas išvados laikas, akivaizdžiai vėluojantys rezultataiUžfiksuokite buferį, eilės amžių, kopijas ir išvesties planavimą
INT8 išvestis praranda naudingus aptikimusKalibravimo aprėptis, išankstinio apdorojimo lygiavertiškumas ir užduoties lygio patvirtinimas

Paverskite prototipą pakartojamu produktu

Supakuokite modelį, vykdymo laiką ir programos konfigūraciją kaip kontroliuojamą leidimą. Apibrėžkite paleidimo patikras, gedimų ataskaitas, atkūrimą ir atkūrimo kelią. Prieš prijungdami fotoaparatą, atlikite nedidelį atskaitos įvesties testą, kuris gali nustatyti netinkamą išdėstymą. Atskirkite tą programinės įrangos patikrinimą nuo fizinio jutiklio testo, kuriame taip pat atliekami kabeliai, tvarkyklės ir ekspozicijos nustatymai.

Kai plokštei reikia skirtingų jungčių, maitinimo kondicionavimo ar jutiklių sąsajų, peržiūrėkite SoM prieš SBC sprendimą ir laikiklio-plokštės projektavimo procesas. Tie sprendimai lemia, kaip sėkmingas modelio demonstravimas tampa prižiūrima sistema.

RK3588 NPU diegimo klausimų

Ar kiekvienas ONNX modelis gali veikti naudojant RK3588 NPU?

Suderinamumas priklauso nuo tikrojo grafiko, formų, operacijų ir pasirinktos įrankių grandinės. Sukurkite palaikymą konvertuodami ir įrenginyje patvirtindami modelį, kurį ketinate siųsti.

Ar reklamuojamas greitintuvo įvertinimas numato programos FPS?

Ne. Tinklas, tikslumas, atminties veikimas, išankstinis apdorojimas ir vykdymo laikas lemia programos išmatuotą pralaidumą. Lygindami platformas naudokite tikslinį darbo krūvį ir visą jo duomenų kelią.

Ar pirmiausia turėčiau optimizuoti neuroninį tinklą?

Pirmiausia profilis. Jei dominuoja gavimas, vaizdo konvertavimas arba eilės sudarymas, modelio vykdymo laiko sutrumpinimas gali turėti mažai įtakos rezultato amžiui, kurį patiria programa.

Palyginkite visą kompiuterinio matymo užduotį

Objektų aptikimo programai išmatuokite fotoaparato fiksavimą, dydžio keitimą ir normalizavimą, NPU išvadas, išvesties dekodavimą ir sprendimo pristatymą. Pateikite modelio versiją, įvesties skiriamąją gebą, tikslumą, patikimumo slenkstį ir įvertinimo duomenų rinkinį kartu su laiko rezultatu. Kitu atveju du iš pažiūros panašūs edge AI etalonai gali apibūdinti skirtingas užduotis.

Išbandykite eksportuotą grafiką ir reikiamus operatorius per pasirinktą RKNN įrankių grandinę prieš įsipareigodami naudoti modelio architektūrą. Patikrinkite tikslumą po kvantavimo ir elgseną nuolatinio vykdymo metu, ne tik tai, ar konversija sėkminga. Objektų aptikimas, segmentavimas ir klasifikavimas turi skirtingas išvesties apdorojimo išlaidas; patvirtinti faktinį projektui pasirinktą darbo krūvį.

Palyginkite FPGA, NPU ir MPU dizaino vaidmenis

Techninės nuorodos

Apimkite savo edge AI darbo krūvį.

Bendrinkite modelį, įvesties skiriamąją gebą, fotoaparato sąsajas, reikiamą rezultatų rodiklį ir galios voką. Galime įvertinti integravimo darbus naudojant RK3588 pagrindinę platformą.