Справочный материал для оценки на ArmSoM CM7S/Sige7S (RK3588S), Sige7/AIM7/LM7/W3 (RK3588), Sige5/CM5/AIM5 (RK3576) и соответствующих платформах RK3568. Необходимо согласовать ОС платы, драйвер NPU, SDK, Runtime и Toolkit2. Конкретная комбинация BSP/ядра и работа на оборудовании ArmSoM не проверялись. Утверждения о проверке относятся только к среде исходного документа.
Источник — локальный китайский rknn_server_proxy.md; английского оригинала и иллюстраций нет. Английский, русский и немецкий тексты переведены полностью. Раздел 1 противоречит разделу 4 по применимости librknnrt.so. В вопросе 4 указан /usr/bin, а в 4.3 — /oem/usr/bin; проверьте фактический путь. Исправлены уровень заголовка 4.4 и разметка блока сброса каталога dump, команды не изменены. Замена Runtime/adbd, остановка служб, перезагрузка и отключение принудительного применения SELinux требуют проверки в изолированной среде разработки; это не рекомендации для эксплуатации.
5. Подробные журналы rknn_server
Подробное журналирование по умолчанию отключено. При ошибках соединения включите его для диагностики, следуя процедуре своей платформы.
5.1 Android
- Настройте подробный журнал и запустите прокси:
adb logcat -c
adb shell "killall rknn_server"
adb shell "setprop persist.vendor.rknn.server.log.level 5 && nohup /vendor/bin/rknn_server >/dev/null"&
- Проверьте успешный запуск службы прокси.
adb shell ps -ef|grep rknn_server
- Запустите программу инференса Python на ПК.
- Просмотрите журнал выполнения.
adb logcat
- Подробный журнал замедляет инференс. Восстановите уровень по умолчанию:
adb shell "killall rknn_server"
adb shell "setprop persist.vendor.rknn.server.log.level 0 && nohup /vendor/bin/rknn_server >/dev/null"&
5.2 Linux (кроме RV1103/RV1106/RV1103B)
- Создайте каталог для подробных журналов прокси.
adb shell mkdir -p /userdata
- Задайте окружение для подробного журнала и запустите прокси.
adb shell "killall rknn_server"
adb shell "export RKNN_SERVER_LOGLEVEL=5 && nohup /usr/bin/rknn_server >/userdata/server.log"&
- Проверьте успешный запуск службы прокси.
adb shell ps -ef|grep rknn_server
Проверьте наличие идентификатора процесса rknn_server: он указывает на успешный запуск. Иначе войдите в оболочку платы через adb shell и запустите службу вручную следующими командами.
export RKNN_SERVER_LOGLEVEL=5
nohup /usr/bin/rknn_server >/userdata/server.log&
exit
- Запустите программу инференса Python на ПК.
- Просмотрите журнал.
adb shell cat /userdata/server.log
- Подробный журнал замедляет инференс. Восстановите уровень по умолчанию:
adb shell "killall rknn_server"
adb shell "export RKNN_SERVER_LOGLEVEL=0 && nohup /usr/bin/rknn_server >/userdata/server.log"&
5.3 Linux (RV1103/RV1106/RV1103B)
- Создайте каталог для подробных журналов прокси.
adb shell mkdir -p /userdata
- Задайте окружение для подробного журнала и запустите прокси.
adb shell "killall rknn_server"
adb shell "export RKNN_SERVER_LOGLEVEL=5 && nohup /oem/usr/bin/rknn_server >/userdata/server.log"&
- Проверьте успешный запуск службы прокси.
adb shell ps|grep rknn_server
Проверьте наличие идентификатора процесса rknn_server: он указывает на успешный запуск. Иначе войдите в оболочку платы через adb shell и запустите службу вручную следующими командами.
export RKNN_SERVER_LOGLEVEL=5
nohup /oem/usr/bin/rknn_server >/userdata/server.log&
exit
- Запустите программу инференса Python на ПК.
- Просмотрите журнал.
adb shell cat /userdata/server.log
- Подробный журнал замедляет инференс. Восстановите уровень по умолчанию:
adb shell "killall rknn_server"
adb shell "export RKNN_SERVER_LOGLEVEL=0 && nohup /oem/usr/bin/rknn_server >/userdata/server.log"&
