Како се RK3588 NPU софтверски стог уклапа заједно

Rockchip RKNN софтверски стог одваја припрему модела од извршења на уређају. RKNN-Тоолкит2 пружа алате за конверзију и процену. RKNN-Тоолкит-Лите2 обезбеђује Питхон интерфејс на подржаним циљним платформама, док RKNN Рунтиме обезбеђује Ц/Ц++ интерфејсе. Драјвер кернела повезује рунтиме са NPU. Проверите компатибилност ових компоненти са пакетом подршке за плочу који је испоручен за ваш модул.

Користан запис о примени идентификује плочу и SoM ревизију, Linux слику, драјвер, време извођења, верзију алата за конверзију, оригинални модел и конвертовани модел. Сачувајте скрипту за прављење и поставке за претходну обраду поред артефакта модела. Име датотеке као што је detector.rknn сама по себи не може објаснити зашто се једно распоређивање понаша другачије од другог.

Припремите сеРеферентни модел, улази и очекивани излази
ЦонвертПровере конфигурације и тачности циља
ДеплоиВреме извођења, примена и континуирано тестирање

Корак 1: успоставите референцу пре конверзије

Покрените оригинални модел на репрезентативном скупу за валидацију. Сачувајте необрађене резултате и метрику апликације која је битна: тачност класификације, квалитет детекције или неку другу меру специфичну за задатак. За детектор, сачувајте редослед налепница, прагове поузданости и поставке накнадне обраде. Ово постаје тачка поређења за конвертовани модел.

Запишите цео уговор о уносу. Укључује димензије, величину серије, РГБ или БГР редослед, распоред, нумерички опсег, нормализацију, промену величине и допуне. Исправан модел може да произведе лоше резултате ако апликација постави слику другачије од тренинга или два пута одузме помак. Постпроцесирање ван мреже треба да буде документовано исто тако пажљиво.

Користите Rockchip RKNN Модел Зоо као полазну тачку када укључује одговарајући модел и циљ. Њени примери конверзије и закључивања су кориснији од претпоставке да ће било која извезена мрежа радити непромењена. Изаберите познату ревизију спремишта и пратите упутства за тај конкретан пример.

Корак 2: конвертујте модел и проверите подршку оператера

  1. Ускладите мету. Изаберите циљ RK3588 и ланац алата компатибилан са предвиђеном сликом плоче.
  2. Прегледајте графикон. Потврдите облике, претходну обраду, излазе и подршку за стварне операције у извезеном моделу.
  3. Направите референтну конверзију. Користите опције прецизности које подржава тај графикон и верзија софтвера.
  4. Прочитајте комплетан дневник изградње. Решите грешке и истражите упозорења пре него што додате аквизицију камере или кориснички интерфејс.
  5. Упоредите излазе. Покрените исте улазе кроз оригиналне и конвертоване моделе, са истом накнадном обрадом.

Неподржана операција може захтевати другачији извоз, преписивање графикона или експлицитну фазу обраде ЦПУ-а. Немојте претпостављати да ће рунтиме транспарентно извршити сваки неподржани слој. Ако се део посла премести на ЦПУ, укључите преносе и синхронизацију у мерење перформанси.

Корак 3: процените INT8 у односу на ваш захтев за тачност

Квантизација мења нумерички приказ. Када изабрани ток конверзије користи податке калибрације, изаберите улазе који су репрезентативни за примену: осветљење, величина објекта, позадина и услови рада. Сачувајте посебан сет за валидацију да бисте проценили резултат. Конверзија која се успешно заврши и даље захтева проверу тачности.

Упоредите излаз апликације, а не само разлику између два тензора. На пример, мала бројчана промена може да помери детекцију преко прага поверења. Прегледајте тешке случајеве, часове са мало примера и услове у којима је првобитни модел већ био маргиналан. Ако тачност падне испод границе прихватљивости, поново погледајте покривеност калибрацијом и претходну обраду пре промене хардвера.

Тхе ONNX Документација за квантизацију времена извршавања је корисна позадина о нумеричким компромисима и истраживању тачности. Опције конверзије RKNN и подржана прецизност и даље морају да се провере у сопственој документацији Rockchip за изабрано издање.

Корак 4: мери више од времена закључивања

Измерите распоређено радно оптерећење након загревања и поново током непрекидног трчања. Забележите температуру, режим напајања, истовремене процесе и распоред кућишта или хлађења. Користан резултат је поновљива граница перформанси, укључујући тачност и кашњење, под условима у којима ће производ радити.

МеасурементШта одговараШта снимати
Трајање извођења моделаКолико дуго траје овај позив током извршавања?Облик уноса, прецизност, временске границе и верзија времена извршавања
Кашњење од краја до крајаКолико је старо запажање када се добије резултат?Време снимања, претходна обрада, ред чекања, закључивање и време излаза
Одржива пропусностКолико завршених резултата се испоручује током времена?Дужина покретања, довршени захтеви и испуштени или прескочени улази
Тачност апликацијеДа ли распоређени модел испуњава услове задатка?Скуп за валидацију, метрику задатка и прагове одлуке
Термичко понашањеДа ли је резултат стабилан након што се систем загреје?Амбијентални услови, хлађење, температуре и сатови где су доступни

Као илустративни буџет, апликација која прима нови оквир сваких 40 мс мора да држи корак са 25 кадрова у секунди ако обрађује сваки оквир. Мерење закључивања 12 мс оставило би остатак тог буџета за набавку, припрему и испоруку само у одговарајућем планираном дизајну. То не доказује кашњење од камере до резултата од 12 мс. Ови бројеви су пример планирања, а не мерени учинак ForgeEdge.

Користите монотони сат за време трајања софтвера. Пријавите медијану и кашњење репа, а не једно најбоље посматрање, и сачувајте необрађена мерења. За неколико камера, узмите у обзир радно оптерећење свих активних токова, укључујући декодирање, конверзију слике, кретање меморије и снимање. Ред који расте током теста указује да је просечан капацитет испод долазног радног оптерећења.

Уобичајени симптоми примене

СимптомПрва истрага
Тачан модел, нетачне етикете или кутијеРедослед боја, нормализација, промена величине/допуна, изглед излаза и накнадна обрада
Конвертовани модел се не може иницијализоватиИзбор циља, компатибилност времена извођења/драјвера и интегритет артефакта модела
Добар кратак тест, лош трајни учинакТемпература, режим напајања, притисак меморије и конкурентски рад
Прихватљиво време закључивања, видљиво одложени резултатиСнимите баферовање, старост реда, копије и планирање излаза
INT8 излаз губи корисне детекцијеПокривеност калибрације, еквивалентност предпроцесирања и валидација на нивоу задатка

Претворите прототип у производ који се може поновити

Пакујте модел, време извођења и конфигурацију апликације као контролисано издање. Дефинишите провере покретања, извештавање о грешкама, опоравак и путању за враћање. Направите мали тест референтног улаза који може да идентификује нетачну примену пре него што се камера повеже. Одвојите ту софтверску проверу од теста физичког сензора, који такође вежба каблове, управљачке програме и поставке експозиције.

Када су плочи потребни различити конектори, уређаји за напајање или интерфејси сензора, прегледајте SoM против SBC одлуке анд тхе процес пројектовања носач-плоча. Те одлуке одређују како успешна демонстрација модела постаје систем који се може одржавати.

RK3588 NPU питања о постављању

Може ли сваки ONNX модел радити на RK3588 NPU?

Компатибилност зависи од стварног графикона, облика, операција и одабраног ланца алата. Успоставите подршку конверзијом и валидацијом модела који намеравате да испоручите на уређају.

Да ли рекламирана оцена акцелератора предвиђа ФПС апликације?

Не. Мрежа, прецизност, понашање меморије, претходна обрада и време извођења одређују измерени проток апликације. Користите циљно радно оптерећење и његову комплетну путању података када упоређујете платформе.

Да ли прво треба да оптимизујем неуронску мрежу?

Прво профил. Ако аквизиција, конверзија слике или чекање доминирају, смањење времена извршења модела може имати мали утицај на старост резултата коју апликација доживљава.

Упоредите комплетан задатак компјутерског вида

За апликацију за откривање објеката, измерите снимање камере, промену величине и нормализацију, NPU закључивање, декодирање излаза и достављање одлуке. Пријавите верзију модела, улазну резолуцију, прецизност, праг поузданости и скуп података евалуације са резултатом времена. У супротном, два наизглед слична edge AI мерила могу да описују различите задатке.

Тестирајте извезени графикон и потребне операторе кроз изабрани RKNN ланац алата пре него што се посветите архитектури модела. Проверите тачност након квантизације и понашање током континуираног извршавања, не само да ли је конверзија успела. Детекција, сегментација и класификација објеката имају различите трошкове обраде излаза; потврдити стварно радно оптерећење одабрано за пројекат.

Упоредите дизајнерске улоге FPGA, NPU и MPU

Техничке референце

Опсег вашег edge AI радног оптерећења.

Поделите модел, улазну резолуцију, интерфејсе камере, потребну стопу резултата и опсег снаге. Можемо да проценимо рад интеграције око платформе за рубове засноване на RK3588.