• 迅为RK3588在 Linux 系统中使用 NPU


    下载 rknpu2 并拷贝到虚拟机 Ubuntu,RKNPU2 提供了访问 rk3588 芯片 NPU的高级接口。

    下载地址为“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资料\12_NPU 使用配套资料\01_rknpu2 工具” 对于 RK3588 来说,Linux 平台 RKNN SDK 库文件为 librknnrt.so, RK3588 平台 RKNN SDK 包含了 API 使用示例程序、NPU 运行库、服务程序、文档。

     

    服务程序称为 rknn_server,是在开发板上常驻的服务进程,用于连板推理。在 RKNN SDK 中提供了 Linux 平台的 MobileNet 图像分类、SSD 目标检测、YOLOv5 目标检测示例。这些Demo 能够为客户基于 RKNN SDK 开发自己的 AI 应用提供参考。

    在 rknpu2/examples 中还有很多其他例子,下面以 rknpu2/examples 下的 rknn_yolov5_demo 在 RK3588 Linux 64 位平台(buildroot 系统)上运行为例,来讲解如何快速上手运行。整体思路分为三步:

    1 在虚拟机Ubuntu20.04上交叉编译 demo程序 rknn_yolov5_demo(demo已经默认是rknn, 无需进行模型转换)

    2 部署到 iTOP-RK3588 开发板

    3 在开发板上运行 demo

    设置交叉编译器

    1 安装 gcc 交叉编译器,编译器下载地址是网盘资料“iTOP-3588 开发板\02_【

    iTOP-RK3588 开发板】开发资料\12_NPU 使用配套资料\03_编译所需工具\Linux”。

    拷贝 gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz 到 Ubuntu 的/opt/tool_chain 目录下,这里拷贝的路径要和作者保持一致,后面要用到交叉编译器的绝对路径。

    2 解压交叉编译器压缩包

    tar -vxf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz 解压完成后备用!

    修改编译工具路径

    1 因为此章节以 rknn_yolov5_demo 在 RK3588 Linux 64 位平台上运行为例,所以修改

    examples/rknn_yolov5_demo/build-XXX.sh 的编译工具路径,

    2 修改 build-linux_RK3588.sh 文件,将 TOOL_CHAIN 修改为

    gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu 的解压路径并保存修改文件,

    TOOL_CHAIN=/opt/tool_chain/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu

    GCC_COMPILER=$TOOL_CHAIN/bin/aarch64-none-linux-gnu

    更新 RKNN 模型

    RKNN 是 Rockchip NPU 平台(也就是开发板)使用的模型类型,是以.rknn 结尾的模型文件。

    RKNN SDK 提 供 的 demo 程 序 中 默 认 自 带 了 RKNN 模 型 , 在 RKNN SDK 的

    examples/rknn_yolov5_demo/model/RK3588/目录下,

    如使用自己的模型需要转换成 rknn 模型,转换方法可以参考第 5 章节。

    在得到 RKNN 模型之后,demo 程序使用 C 接口在 RK3588 平台开发应用,

    3.1.4 编译 demo

    1 在终端命令窗口进入 rknn_yolov5_demo 文件夹,输入以下命令:

    cd examples/rknn_yolov5_demo/

    2 运行 build-linux_RK3588.sh 脚本编译程序

    ./build-linux_RK3588.sh

    3 编译完成之后,编译好的程序一般放在 install 目录

    4 网 盘 中 也 提 供 了 编 译 好 的 Demo , 可 以 在 网 盘 资 料 资 料 “iTOP-3588 开 发 板 \02_ 【iTOP-RK3588 开发板】开发资料\12_NPU 使用配套资料\02_NPU demo\Linux”下载。

    开发板运行 demo

    1 通过 U 盘拷贝 RKNPU2 工具中的 runtime/RK3588/Linux/librknn_api/aarch64/目录下的文件到开发板的/usr/lib 目录下。

    2 把编译好的程序 rknn_yolov5_demo_Linux 通过 U 盘拷贝到开发板的根目录上,开发板上要 烧写 linux 系统(buildroot)。

    3 设置库文件的路径,输入以下命令:

    export LD_LIBRARY_PATH=./lib

    4 进入程序所在的目录,输入以下命令:

    cd /rknn_yolov5_demo_Linux

    5 运行程序来识别相应的图片中物体,输入以下命令:

    ./rknn_yolov5_demo ./model/RK3588/yolov5s-640-640.rknn ./model/bus.jpg

    6 运行完生成结果图片 out.jpg,

    7 拷贝生成的 out.jpg 到 U 盘中,

    8 在 windows 下查看 out.jpg,

     

  • 相关阅读:
    IIC学习笔记(参考小梅哥教程)
    2022牛客暑期多校训练营4(总结+补题)
    关于专利申请的受理与不受理你了解多少?
    Android逆向入门、进阶、工具大全
    卷积神经网络总结
    Python可视化招聘信息聚合系统 (附源码)!
    【前端必会】走进webpack生命周期,另类的学习方法
    基于STM32L431的Liteos低功耗Runstop模式的实现
    常用的设计模式
    【Adobe Illustrator 教程】1. 认识AI并创建第一张画布
  • 原文地址:https://blog.csdn.net/Chihiro_S/article/details/132758902