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.
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
- 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"&
- Erfolgreichen Start des Proxy-Dienstes prüfen.
adb shell ps -ef|grep rknn_server
- Python-Inferenzprogramm auf dem PC ausführen.
- Laufzeitprotokoll anzeigen.
adb logcat
- 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)
- Verzeichnis für ausführliche Proxy-Protokolle anlegen.
adb shell mkdir -p /userdata
- 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"&
- 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
- Python-Inferenzprogramm auf dem PC ausführen.
- Protokoll anzeigen.
adb shell cat /userdata/server.log
- 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)
- Verzeichnis für ausführliche Proxy-Protokolle anlegen.
adb shell mkdir -p /userdata
- 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"&
- 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
- Python-Inferenzprogramm auf dem PC ausführen.
- Protokoll anzeigen.
adb shell cat /userdata/server.log
- 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"&
