| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| images/ | H | 05-Jun-2025 | - | |||
| model/ | H | 05-Jun-2025 | - | |||
| src/ | H | 05-Jun-2025 | - | 1,275 | 1,038 | |
| CMakeLists.txt | H A D | 05-Jun-2025 | 2.4 KiB | 77 | 66 | |
| README.md | H A D | 05-Jun-2025 | 2.4 KiB | 52 | 46 | |
| build-android_RK3562.sh | H A D | 05-Jun-2025 | 739 | 36 | 25 | |
| build-android_RK3566_RK3568.sh | H A D | 05-Jun-2025 | 739 | 36 | 25 | |
| build-android_RK3588.sh | H A D | 05-Jun-2025 | 739 | 36 | 25 | |
| build-linux_RK3562.sh | H A D | 05-Jun-2025 | 464 | 26 | 16 | |
| build-linux_RK3566_RK3568.sh | H A D | 05-Jun-2025 | 464 | 26 | 16 | |
| build-linux_RK3588.sh | H A D | 05-Jun-2025 | 464 | 26 | 16 |
README.md
1# RKNN C API 动态形状输入Demo 2这是一个使用RKNN C API进行动态形状输入推理的演示应用。您可以在这个应用中看到如何使用RKNN 动态形状 C API对图像进行分类。 3 4# 如何使用 51. 克隆或下载此代码库ssh://git@10.10.10.59:8001/hpc/rknpu2.git。 62. 在终端中进入动态形状推理Demo目录。 7``` 8cd examples/rknn_dynamic_shape_input_demo 9``` 103. 根据芯片平台,运行shell脚本编译应用程序,以RK3562 Android系统为例,命令如下: 11``` 12./build-android_RK3562.sh 13``` 144. 将Demo程序目录通过adb命令推送到开发板系统中,命令如下: 15``` 16adb push ./install/rknn_dynshape_demo_Android/ /data 17注意:如果是安卓系统,需要adb root & adb remount 18``` 195. 设置runtime库链接路径 20``` 21export LD_LIBRARY_PATH=./lib 22``` 236. 运行程序,以rk3562平台为例,./rknn_dynshape_inference model/RK3562/mobilenet_v2.rknn images/dog_224x224.jpg 命令对图像进行分类,其中 mobilenet_v2.rknn 是神经网络模型文件的名称,dog_224x224.jpg 是要分类的图像文件的名称。 24 25 26# 编译说明 27## Arm Linux系统 28为特定的芯片平台指定交叉编译器路径,修改`build-linux_<TARGET_PLATFORM>.sh`中的`GCC_COMPILER`,其中TARGET_PLATFORM为芯片名,然后执行 29``` 30./build-linux_<TARGET_PLATFORM>.sh 31``` 32## Android系统 33指定Android NDK的路径,修改`build-android_<TARGET_PLATFORM>.sh`中的`ANDROID_NDK_PATH`,其中TARGET_PLATFORM为芯片名,然后执行 34``` 35./build-android_<TARGET_PLATFORM>.sh 36``` 37 38# 包含的功能 39此演示应用程序包含以下功能: 40 41- 创建一个包含动态形状的神经网络模型。 42参考https://github.com/rockchip-linux/rknn-toolkit2仓库下的examples/functions/dynamic_input 43 44- 从文件中读取一张图像,并使用神经网络模型对其进行分类。程序步骤如下: 451. 使用 rknn_init() 函数初始化 RKNN 上下文。 462. 使用 rknn_set_input_shape() 函数设置模型输入的形状信息,包括形状、布局等。 473. 使用 rknn_query() 函数查询当前设置的模型输入和输出的信息,包括形状、数据类型和大小等。 484. 使用 rknn_inputs_set() 函数设置模型输入的数据,包括数据指针和数据大小等。 495. 使用 rknn_run() 函数运行模型。 506. 使用 rknn_outputs_get() 函数设置是否需要float类型结果并获取输出数据。 517. 处理输出数据,得到分类结果和概率。 528. 使用 rknn_release() 函数释放RKNN上下文。