Entorno de desarrollo Ubuntu 18.04
Enlace de descarga de la herramienta RKNN Toolkit: https://github.com/rockchip-linux/rknn-toolkit
Instalar el kit de herramientas de RKNN
pip3 install --user -r rknn-toolkit/packages/requirements-cpu.txt
pip3 install --user -U rknn-toolkit/packages/rknn_toolkit-1.4.0-cp36-cp36m-linux_x86_64.whl
Conversión de modelo
cd rknn-toolkit/examples/rknn_convert
python rknn_convert.py /home/aaron/pro/tb/tb3/npu/rknn-toolkit-1.4.0/rknn-toolkit/examples/rknn_convert/models/tensorflow/mobilenet-ssd out_rknn False
El primer parámetro es la ruta del modelo original que se va a convertir (puede completar directamente el directorio, pero el directorio debe contener el archivo `model_config.yml`)
El segundo parámetro es el directorio de salida del modelo convertido
El tercer parámetro es si habilitar la compilación previa (para acelerar el tiempo de carga del modelo)
Implementación de la placa de desarrollo del modelo NPU
Tome RK1808 como ejemplo aquí
RKNN-Toolkit se conecta al hardware de la placa de desarrollo a través del USB de la PC, y el modelo RKNN construido o importado se transfiere al RK1808 para su funcionamiento, y los resultados de la inferencia y la información de rendimiento se obtienen del RK1808.
Realice los siguientes pasos
-
Asegúrese de que el USB OTG de la placa de desarrollo esté conectado a la PC y que ADB pueda identificar correctamente el dispositivo, es decir,
adb devices -l
puede ver el dispositivo de destino cuando ejecuta el comando en la PC . -
Al llamar a la
init_runtime
interfaz para inicializar el entorno operativo, debe especificar el parámetro de destino y el parámetro device_id. El parámetro de destino indica el tipo de hardware y el valor seleccionado esrk1808
. Cuando la PC está conectada a varios dispositivos, también debe especificar el parámetro device_id, que es el número de dispositivo, que se puede ver a través deladb devics
comando. -
Tome
rknn-toolkit/example/mobilenet_v1
un ejemplo de la siguiente manera:$ adb devices Lista de dispositivos conectados 0123456789ABCDEF dispositivo
Es decir, cambiado a
ret = rknn.init_runtime (destino = 'rk1808', device_id = '0123456789ABCDEF')
-
correr
python3 ./test.py
Después de ejecutar correctamente, se pueden obtener los datos obtenidos después de la inferencia RK1808.