EASY EAI灵眸科技
直播中

tinnu

8年用户 133经验值
擅长:可编程逻辑 嵌入式技术 控制/MCU
私信 关注

【EASY EAI Nano人工智能开发套件试用体验】RKNN YOLOV5 例程测试及横向对比

RKNN1 YOLOV5 DEMO及与RKNN2硬件对比

introduct

  • Rockchip 的 RKNN(Rockchip Neural Network) 是一款 AI 推理框架,能够在 Rockchip 的 SoC 上调用芯片内部的npu加速单元。它提供了两个工具:RKNN-Toolkits 和 RKNPU。

    • RKNPU 工具提供了运行时和一些demo,其中包含一些已经转化为.rknn的模型;在rknn2组件中,运行时是一个rknn_server程序,而rknn1中不需要该运行时支持,仅提供了驱动npu的ko文件,可以用于更新npu的驱动。不过出厂镜像默认支持,这里就不作更新。
    • 另一个工具是 RKNN-Toolkits,这是一组转换模型工具,可以用于将常见的深度学习模型转换为 RKNN 支持的模型格式。RKNN-Toolkits 提供了一些脚本和 API,可以方便地将 Caffe、TensorFlow 等深度学习框架的模型转换为 RKNN 支持的格式,并将其部署到 RKNN 平台上进行推理运算。
    • RKNN又分为RKNN1和RKNN2,RKNN1 是基于 NPUv1 架构实现的,而 RKNN2 是基于新一代 NPUv2 架构实现的。其两者SDK不兼容。我们要使用的RV1126的RKNPU是基于RKNN1,而用于对比的RK3568则是基于RKNN2。

rknn1下载

  • 在灵眸科技提供的docker环境中下载
    rknpu1

rknn1 yolo demo test

  • 在目录 rknpu/rknn/rknn_api/examples/rknn_yolov5_demo 下,修改build.sh中指定的编译链
    2_compile.png
# for rv1109/rv1126 armhf
GCC_COMPILER=arm-linux-gnueabihf
  • 执行:
    ./build.sh

  • 把生成的install目录下几个文件拷到开发板:

    • bus.bmp
    • coco_80_labels_list.txt
    • rknn_yolov5_demo
    • yolov5s_relu_rv1109_rv1126_out_opt.rknn
    • 其中 coco_80_labels_list.txt 放在 model 文件夹下
      3_file.png
  • 运行

    ./rknn_yolov5_demo yolov5s_relu_rv1109_rv1126_out_opt.rknn bus.bmp
    

    1_rknn1.png

  • 我手上刚好有同样带有npu 1T算力的rk3568,正好做个横向对比(基于rknn2平台的yolov5检测同一文件)
    2023-04-22_22-44-41.png

  • 可以看到rv1126两倍算力确实提供了更快的速度

更多回帖

发帖
×
20
完善资料,
赚取积分