Si përshtatet së bashku grupi i softuerit RK3588 NPU

Stafi i softuerit Rockchip RKNN ndan përgatitjen e modelit nga ekzekutimi në pajisje. RKNN-Toolkit2 ofron mjete konvertimi dhe vlerësimi. RKNN-Toolkit-Lite2 siguron një ndërfaqe Python në platformat e synuara të mbështetura, ndërsa RKNN Runtime furnizon ndërfaqet C/C++. Drejtuesi i kernelit lidh kohën e ekzekutimit me NPU. Kontrolloni përputhshmërinë e këtyre komponentëve me paketën mbështetëse të bordit të dhënë për modulin tuaj.

Një rekord i dobishëm vendosjeje identifikon bordin dhe rishikimin SoM, imazhin Linux, drejtuesin, kohën e funksionimit, versionin e mjetit të konvertimit, modelin origjinal dhe modelin e konvertuar. Ruani skriptin e ndërtimit dhe cilësimet e parapërpunimit pranë objektit të modelit. Një emër skedari si p.sh detector.rknn vetëm nuk mund të shpjegojë pse një vendosje sillet ndryshe nga një tjetër.

PërgatitniModeli i referencës, inputet dhe rezultatet e pritura
KonvertoKonfigurimi i objektivit dhe kontrollet e saktësisë
VendosniKoha e ekzekutimit, aplikimi dhe testimi i qëndrueshëm

Hapi 1: vendosni një referencë përpara konvertimit

Ekzekutoni modelin origjinal në një grup vërtetimi përfaqësues. Ruani rezultatet e papërpunuara dhe metrikën e aplikacionit që ka rëndësi: saktësinë e klasifikimit, cilësinë e zbulimit ose një masë tjetër specifike për detyrën. Për një detektor, ruani renditjen e etiketave, pragjet e besimit dhe cilësimet e paspërpunimit. Kjo bëhet pika e krahasimit për modelin e konvertuar.

Shkruani të gjithë kontratën e hyrjes. Përfshi dimensionet, madhësinë e grupit, renditjen RGB ose BGR, paraqitjen, diapazonin numerik, normalizimin, ndryshimin e madhësisë dhe mbushjen. Një model i saktë mund të prodhojë rezultate të dobëta nëse aplikacioni vendos një imazh ndryshe nga trajnimi ose zvogëlon një kompensim dy herë. Vazhdoni të dokumentoni me po aq kujdes postprocesimin jashtë rrjetit.

Përdorni Rockchip RKNN Kopshti Zoologjik Model si pikënisje kur përfshin një model dhe objektiv që përputhet. Shembujt e tij të konvertimit dhe konkluzionit janë më të dobishëm sesa supozimi se çdo rrjet i eksportuar do të funksionojë i pandryshuar. Zgjidhni një rishikim të njohur të depove dhe ndiqni udhëzimet për atë shembull specifik.

Hapi 2: konverto modelin dhe kontrollo mbështetjen e operatorit

  1. Përputhni objektivin. Zgjidhni objektivin RK3588 dhe një zinxhir mjetesh të pajtueshme me imazhin e synuar të tabelës.
  2. Inspektoni grafikun. Konfirmoni format, parapërpunimin, rezultatet dhe mbështetjen për operacionet aktuale në modelin e eksportuar.
  3. Ndërtoni një konvertim referencë. Përdorni opsionet e saktësisë të mbështetura nga ai grafik dhe version i softuerit.
  4. Lexoni regjistrin e plotë të ndërtimit. Zgjidhini dështimet dhe hetoni paralajmërimet përpara se të shtoni blerjen e kamerës ose një ndërfaqe përdoruesi.
  5. Krahasoni rezultatet. Drejtoni të njëjtat hyrje përmes modeleve origjinale dhe të konvertuara, me të njëjtin përpunim pasardhës.

Një operacion i pambështetur mund të kërkojë një eksport tjetër, rishkrim grafik ose një fazë të qartë të përpunimit të CPU. Mos supozoni se koha e ekzekutimit do të ekzekutojë në mënyrë transparente çdo shtresë të pambështetur. Nëse një pjesë e ngarkesës lëviz në CPU, përfshini transferimet dhe sinkronizimin në matjen e performancës.

Hapi 3: vlerësoni INT8 kundrejt kërkesës suaj të saktësisë

Kuantizimi ndryshon paraqitjen numerike. Kur rrjedha e përzgjedhur e konvertimit përdor të dhënat e kalibrimit, zgjidhni hyrjet përfaqësuese të vendosjes: ndriçimi, madhësia e objektit, sfondi dhe kushtet e funksionimit. Mbani një grup të veçantë vërtetimi për të vlerësuar rezultatin. Një konvertim që përfundon me sukses ende ka nevojë për një kontroll saktësie.

Krahasoni daljen e aplikacionit, jo vetëm ndryshimin midis dy tensorëve. Për shembull, një ndryshim i vogël numerik mund të lëvizë një zbulim përtej një pragu besimi. Inspektoni rastet e vështira, klasa me pak shembuj dhe kushte ku modeli origjinal ishte tashmë margjinal. Nëse saktësia bie nën kufirin e pranimit, rishikoni mbulimin e kalibrimit dhe parapërpunimin përpara se të ndryshoni harduerin.

Të ONNX Dokumentacioni i kuantizimit në kohëzgjatje është një sfond i dobishëm për kompromiset numerike dhe hetimin e saktësisë. Opsionet e konvertimit të RKNN dhe saktësia e mbështetur duhet ende të kontrollohen në dokumentacionin e vetë Rockchip për versionin e zgjedhur.

Hapi 4: matet më shumë se koha e përfundimit

Matni ngarkesën e vendosur të punës pas ngrohjes dhe përsëri gjatë një vrapimi të qëndrueshëm. Regjistroni temperaturën, modalitetin e energjisë, proceset e njëkohshme dhe rregullimin e mbylljes ose ftohjes. Rezultati i dobishëm është një zarf i riprodhueshëm i performancës, duke përfshirë saktësinë dhe vonesën, në kushtet në të cilat produkti do të funksionojë.

MatjaÇfarë përgjigjetÇfarë të regjistroni
Kohëzgjatja e ekzekutimit të modelitSa kohë zgjat kjo telefonatë e ekzekutimit?Forma e hyrjes, saktësia, kufijtë e kohës dhe versioni i kohës së funksionimit
Vonesa nga fundi në fundSa vjeç është vëzhgimi kur jepet rezultati?Kapja e kohës, parapërpunimit, rradhës, konkluzioni dhe koha e daljes
Rrjedha e qëndrueshmeSa rezultate të përfunduara jepen me kalimin e kohës?Gjatësia e ekzekutimit, kërkesat e përfunduara dhe hyrjet e hequra ose të anashkaluara
Saktësia e aplikimitA plotëson modeli i vendosur kërkesat e detyrës?Seti i verifikimit, metrika e detyrave dhe pragjet e vendimit
Sjellja termikeA është rezultati i qëndrueshëm pas ngrohjes së sistemit?Kushtet e ambientit, ftohja, temperaturat dhe orët aty ku janë të disponueshme

Si një buxhet ilustrues, një aplikacion që merr një kornizë të re çdo 40 ms duhet të vazhdojë me 25 korniza për sekondë nëse përpunon çdo kornizë. Një matje konkluzion 12 ms do ta linte pjesën tjetër të atij buxheti për blerje, përgatitje dhe dorëzim vetëm në një dizajn të planifikuar siç duhet. Nuk provon një vonesë prej 12 ms nga kamera në rezultat. Këta numra janë një shembull planifikimi, jo i matur i performancës ForgeEdge.

Përdorni një orë monotonike për kohëzgjatjet e softuerit. Raportoni vonesën mesatare dhe të bishtit në vend të një vëzhgimi të vetëm më të mirë dhe ruani matjet e papërpunuara. Për disa kamera, merrni parasysh ngarkesën e punës së të gjitha transmetimeve aktive, duke përfshirë dekodimin, konvertimin e imazhit, lëvizjen e kujtesës dhe regjistrimin. Një radhë që rritet gjatë gjithë testit tregon se kapaciteti mesatar është nën ngarkesën e punës në hyrje.

Simptomat e zakonshme të vendosjes

SimptomaHetimi i parë
Modeli i saktë, etiketa ose kuti të pasaktaRenditja e ngjyrave, normalizimi, ndryshimi i madhësisë/mbushja, paraqitja e daljes dhe paspërpunimi
Modeli i konvertuar nuk mund të inicializohetZgjedhja e objektivit, përputhshmëria e kohës së funksionimit/drejtuesit dhe integriteti i objektit të modelit
Standard i mirë i shkurtër, performancë e dobët e qëndrueshmeTemperatura, mënyra e fuqisë, presioni i kujtesës dhe puna konkurruese
Koha e pranueshme e përfundimit, rezultate dukshëm të vonuaraRegjistroni bufferimin, moshën e radhës, kopjet dhe planifikimin e daljes
Prodhimi INT8 humb zbulimet e dobishmeMbulimi i kalibrimit, ekuivalenca e parapërpunimit dhe vlefshmëria në nivel të detyrës

Kthejeni prototipin në një produkt të përsëritshëm

Paketoni modelin, kohën e ekzekutimit dhe konfigurimin e aplikacionit si një lëshim të kontrolluar. Përcaktoni kontrollet e fillimit, raportimin e dështimit, rikuperimin dhe një rrugë rikthimi. Mbani një test të vogël të hyrjes referencë që mund të identifikojë një vendosje të gabuar përpara se të lidhet një kamerë. Ndani atë kontroll të softuerit nga testi i sensorit fizik, i cili gjithashtu ushtron kabllot, drejtuesit dhe cilësimet e ekspozimit.

Kur bordi ka nevojë për lidhës të ndryshëm, kondicioner të energjisë ose ndërfaqe me sensorë, rishikoni SoM kundrejt SBC vendimit dhe procesi i projektimit të bordit transportues. Këto vendime përcaktojnë se si një demonstrim i suksesshëm i modelit bëhet një sistem i mirëmbajtur.

RK3588 NPU pyetje për vendosjen

A mund të funksionojë çdo model ONNX në RK3588 NPU?

Përputhshmëria varet nga grafiku aktual, format, operacionet dhe zinxhiri i zgjedhur i veglave. Krijoni mbështetje përmes konvertimit dhe vërtetimit në pajisje të modelit që keni ndërmend të dërgoni.

A parashikon një vlerësim i reklamuar i përshpejtuesit të aplikacionit FPS?

Jo. Rrjeti, saktësia, sjellja e kujtesës, parapërpunimi dhe koha e ekzekutimit përcaktojnë xhiron e matur të aplikacionit. Përdorni ngarkesën e synuar të punës dhe rrugën e saj të plotë të të dhënave kur krahasoni platformat.

A duhet të optimizoj së pari rrjetin nervor?

Profili së pari. Nëse dominon përvetësimi, konvertimi i imazhit ose radha, ulja e kohës së ekzekutimit të modelit mund të ketë pak efekt në moshën e rezultatit të përjetuar nga aplikacioni.

Përcaktoni detyrën e plotë të vizionit kompjuterik

Për një aplikacion për zbulimin e objekteve, matni kapjen, ndryshimin e madhësisë dhe normalizimin e kamerës, konkluzionet NPU, dekodimin e daljes dhe dhënien e vendimit. Raportoni versionin e modelit, rezolucionin e hyrjes, saktësinë, pragun e besimit dhe të dhënat e vlerësimit me rezultatin e kohës. Përndryshe, dy standarde në dukje të ngjashme edge AI mund të përshkruajnë detyra të ndryshme.

Testoni grafikun e eksportuar dhe operatorët e kërkuar përmes zinxhirit të mjeteve të zgjedhura RKNN përpara se të angazhoheni për një arkitekturë modeli. Kontrolloni saktësinë pas kuantizimit dhe sjelljen gjatë ekzekutimit të qëndrueshëm, jo ​​vetëm nëse konvertimi ka sukses. Zbulimi, segmentimi dhe klasifikimi i objekteve kanë kosto të ndryshme të përpunimit të prodhimit; vërtetoni ngarkesën aktuale të punës të zgjedhur për projektin.

Krahaso rolet e projektimit FPGA, NPU dhe MPU

Referencat teknike

Përfshini ngarkesën tuaj të punës edge AI.

Ndani modelin, rezolucionin e hyrjes, ndërfaqet e kamerës, shkallën e kërkuar të rezultatit dhe zarfin e fuqisë. Ne mund të vlerësojmë punën e integrimit rreth një platforme avantazhi të bazuar në RK3588.