Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:edge-2l:npu:rknn-sdk-quick-start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:sbc:edge-2l:npu:rknn-sdk-quick-start [2026/05/31 23:01]
nick [Run RKNN Python demo]
products:sbc:edge-2l:npu:rknn-sdk-quick-start [2026/05/31 23:55] (current)
nick [Run RKNN Python demo]
Line 10: Line 10:
   * rknn model zoo: 2.3.2   * rknn model zoo: 2.3.2
  
-==== Download RKNN related repositories ====+==== Download RKNN related repositories - Host PC ====
 It is recommended to create a new directory to store the RKNN repositories. For example, create a folder named ''Projects'' and place the RKNN-Toolkit2 and RKNN Model Zoo repositories in that directory. Refer to the following commands It is recommended to create a new directory to store the RKNN repositories. For example, create a folder named ''Projects'' and place the RKNN-Toolkit2 and RKNN Model Zoo repositories in that directory. Refer to the following commands
  
Line 26: Line 26:
 ``` ```
  
-==== Install the RKNN-Toolkit2 environment on your host PC ====+==== Install the RKNN-Toolkit2 environment on your Host PC ====
  
-=== Install Python ===+=== Install Python - Host PC ===
 If the Python 3.8 environment is not installed on your system, or if there are multiple versions of Python installed, it is recommended to use Miniforge Conda to create a new Python 3.8 environment. If the Python 3.8 environment is not installed on your system, or if there are multiple versions of Python installed, it is recommended to use Miniforge Conda to create a new Python 3.8 environment.
  
-=== Install Miniforge Conda ===+=== Install Miniforge Conda - Host PC ===
  
 Download the Miniforge Conda installer from the following link: Download the Miniforge Conda installer from the following link:
Line 43: Line 43:
 $ bash Miniforge3-Linux-x86_64.sh $ bash Miniforge3-Linux-x86_64.sh
 ``` ```
-=== Create Python environment using miniforge conda ===+=== Create Python environment using miniforge conda - Host PC ===
 In the terminal window on the computer, execute the following command to switch to the Miniforge conda base In the terminal window on the computer, execute the following command to switch to the Miniforge conda base
 environment: environment:
Line 57: Line 57:
 $ conda activate py38Toolkit2.3.2 $ conda activate py38Toolkit2.3.2
 ``` ```
-=== Install RKNN-Toolkit2 ===+=== Install RKNN-Toolkit2 - Host PC ===
 Install via local wheel packag. Install via local wheel packag.
  
Line 66: Line 66:
 ``` ```
  
-=== Check if the RKNN-Toolkit2 Environment is Installed Successfully ===+=== Check if the RKNN-Toolkit2 environment - Host PC ===
 Switch to Python interactive mode Switch to Python interactive mode
 ```shell ```shell
Line 147: Line 147:
 ```shell ```shell
 sudo apt update sudo apt update
-sudo apt install python3-venv -y+sudo apt install python3.12-venv -y
 ``` ```
  
Line 185: Line 185:
 ```shell ```shell
 adb push examples/yolov5/model/yolov5s_relu.rknn /home/khadas/rknn_model_zoo/examples/yolov5/model adb push examples/yolov5/model/yolov5s_relu.rknn /home/khadas/rknn_model_zoo/examples/yolov5/model
 +```
 +
 +Modify the demo code:
 +
 +```diff
 +diff --git a/py_utils/rknn_executor.py b/py_utils/rknn_executor.py
 +index 21b4132..46b24d4 100644
 +--- a/py_utils/rknn_executor.py
 ++++ b/py_utils/rknn_executor.py
 +@@ -1,5 +1,5 @@
 +-from rknn.api import RKNN
 +-
 ++from rknnlite.api import RKNNLite as RKNN
 ++import numpy as np
 + 
 + class RKNN_model_container():
 +     def __init__(self, model_path, target=None, device_id=None) -> None:
 +@@ -9,10 +9,7 @@ class RKNN_model_container():
 +         rknn.load_rknn(model_path)
 + 
 +         print('--> Init runtime environment')
 +-        if target==None:
 +-            ret = rknn.init_runtime()
 +-        else:
 +-            ret = rknn.init_runtime(target=target, device_id=device_id)
 ++        ret = rknn.init_runtime()
 +         if ret != 0:
 +             print('Init runtime environment failed')
 +             exit(ret)
 +@@ -33,10 +30,12 @@ class RKNN_model_container():
 +         else:
 +             inputs = [inputs]
 + 
 ++        inputs = [np.expand_dims(item, axis=0) if len(item.shape) == 3 else item for item in inputs]
 ++
 +         result = self.rknn.inference(inputs=inputs)
 +     
 +         return result
 + 
 +     def release(self):
 +         self.rknn.release()
 +-        self.rknn = None
 +\ No newline at end of file
 ++        self.rknn = None
 +(myenv312) khadas@Khadas:~/rknn_model_zoo$ 
 ``` ```
  
Line 195: Line 240:
  
 {{:products:sbc:edge-2l:npu:yolov5-linux-demo.webp?600|}} {{:products:sbc:edge-2l:npu:yolov5-linux-demo.webp?600|}}
 +
 +Deactivate the python virtual enviranment:
 +
 +```shell
 +(myenv312) khadas@Khadas:~/rknn_model_zoo$ deactivate 
 +```
  
  
Last modified: 2026/05/31 23:01 by nick