Rockchip · AI & Linux Hub

KI-Inferenz

RKNN-Debugging: Protokolle aktivieren, prüfen und zurücksetzen

RKNN-Debugging: Protokolle aktivieren, prüfen und zurücksetzen

· ArmSoM Editorial · Rockchip source documentation · 3 Min. Lesezeit

Plattformreferenz zur Evaluierung auf ArmSoM CM7S/Sige7S (RK3588S), Sige7/AIM7/LM7/W3 (RK3588), Sige5/CM5/AIM5 (RK3576) und entsprechenden RK3568-Plattformen. Board-Betriebssystem, NPU-Treiber, SDK, Runtime und Toolkit2 müssen zusammenpassen. Eine konkrete BSP-/Kernel-Kombination und ArmSoM-Hardware wurden hier nicht getestet. Prüfaussagen der Quelle gelten nur für deren ursprüngliche Umgebung.

Quelle ist die lokale chinesische Datei rknn_server_proxy.md; kein englisches Original und keine Abbildungen vorhanden. Englisch, Russisch und Deutsch sind vollständige Übersetzungen. Abschnitt 1 widerspricht Abschnitt 4 bei der Zuordnung von librknnrt.so. FAQ 4 verwendet /usr/bin, Abschnitt 4.3 dagegen /oem/usr/bin; tatsächlichen Installationspfad prüfen. Überschriftenebene 4.4 und fehlerhafte Codeblock-Markierung beim Dump-Reset wurden korrigiert, Befehle blieben unverändert. Runtime/adbd-Austausch, Dienststopps, Neustart und deaktivierte SELinux-Durchsetzung sind in einer isolierten Entwicklungsumgebung zu prüfen, nicht als Produktionskonfiguration zu übernehmen.

ArmSoM Docs · Rockchip source

Serie zum Board-Debugging · 2/3

RKNN-Board-Proxy: Einrichtung, Bereitstellung und mini-runtime

RKNN-Debugging: Protokolle aktivieren, prüfen und zurücksetzen

RKNN-Fehlerbehebung: Verbindung, Speicher und Berechtigungen

5. Ausführliche rknn_server-Protokolle

Ausführliche Protokollierung ist standardmäßig deaktiviert. Zur Diagnose von Verbindungsfehlern das Verfahren für die eigene Plattform verwenden.

5.1 Android

  1. Ausführliche Protokollierung konfigurieren und Proxy starten:
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"&
  1. Erfolgreichen Start des Proxy-Dienstes prüfen.
adb shell ps -ef|grep rknn_server
  1. Python-Inferenzprogramm auf dem PC ausführen.
  2. Laufzeitprotokoll anzeigen.
adb logcat
  1. Ausführliche Protokollierung verlangsamt die Inferenz. Standardstufe wiederherstellen:
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 (außer RV1103/RV1106/RV1103B)

  1. Verzeichnis für ausführliche Proxy-Protokolle anlegen.
adb shell mkdir -p /userdata
  1. Logging-Umgebung setzen und Proxy mit ausführlicher Protokollierung starten.
adb shell "killall rknn_server"
adb shell "export RKNN_SERVER_LOGLEVEL=5 && nohup /usr/bin/rknn_server >/userdata/server.log"&
  1. Erfolgreichen Start des Proxy-Dienstes prüfen.
adb shell ps -ef|grep rknn_server

Prüfen, ob eine Prozess-ID für rknn_server vorhanden ist. Sie zeigt den erfolgreichen Start an. Andernfalls mit adb shell die Board-Shell öffnen und den Dienst wie folgt manuell starten.

export RKNN_SERVER_LOGLEVEL=5
nohup /usr/bin/rknn_server >/userdata/server.log&
exit
  1. Python-Inferenzprogramm auf dem PC ausführen.
  2. Protokoll anzeigen.
adb shell cat /userdata/server.log
  1. Ausführliche Protokollierung verlangsamt die Inferenz. Standardstufe wiederherstellen:
   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)

  1. Verzeichnis für ausführliche Proxy-Protokolle anlegen.
adb shell mkdir -p /userdata
  1. Logging-Umgebung setzen und Proxy mit ausführlicher Protokollierung starten.
adb shell "killall rknn_server"
adb shell "export RKNN_SERVER_LOGLEVEL=5 && nohup  /oem/usr/bin/rknn_server >/userdata/server.log"&
  1. Erfolgreichen Start des Proxy-Dienstes prüfen.
adb shell ps|grep rknn_server

Prüfen, ob eine Prozess-ID für rknn_server vorhanden ist. Sie zeigt den erfolgreichen Start an. Andernfalls mit adb shell die Board-Shell öffnen und den Dienst wie folgt manuell starten.

export RKNN_SERVER_LOGLEVEL=5
nohup /oem/usr/bin/rknn_server >/userdata/server.log&
exit
  1. Python-Inferenzprogramm auf dem PC ausführen.
  2. Protokoll anzeigen.
adb shell cat /userdata/server.log
  1. Ausführliche Protokollierung verlangsamt die Inferenz. Standardstufe wiederherstellen:
adb shell "killall rknn_server"
adb shell "export RKNN_SERVER_LOGLEVEL=0 && nohup  /oem/usr/bin/rknn_server >/userdata/server.log"&

Dieses Thema entdecken → · Lernpfade →