当前位置:   article > 正文

rk3588(香橙派5pro)使用npu推理_rknn3588如何使用多核npu

rknn3588如何使用多核npu

参考文档

从modelzoo来看,使用纯cnn的int8模式,更容易部署模型

  • https://blog.csdn.net/zichuanning520/article/details/125724571
  • https://github.com/airockchip/rknn-toolkit2/tree/master/rknn-toolkit2/examples/pytorch/resnet18
  • https://github.com/airockchip/rknn_model_zoo?tab=readme-ov-file
  • 香橙派5pro 用户手册 3.40 npu使用方法

关于驱动仓库

https://github.com/airockchip/rknn-toolkit2

  • rknpu2: 驱动所在位置,提供外部cpp接口
  • rknn-toolkit2: python接口,x86 adb连接板子调试(跟手机类似)
  • rknn-toolkit-lite2: python接口, 直接在板子上跑代码,需要有编译好的rknn模型

resnet18 rknn-toolkit2环境跑通

1. 示例代码选择

  • https://github.com/airockchip/rknn-toolkit2/tree/master/rknn-toolkit2/examples/pytorch/resnet18
  • 官方的这个demo还挺完善的,我们只要把他环境配齐就好了

2. x86配置

  1. 克隆整个仓库,安装位于rknn-toolkit2-master/rknn-toolkit2/packages/rknn_toolkit2-2.0.0b0+9bab5682-cp39-cp39-linux_x86_64.whl
    • 这个是个x86调试npu的一个轮子,包含模拟器
  2. 手动安装其他依赖即可,由于香橙派主要使用百度源,所以推荐https://mirror.baidu.com/pypi/simple, 清华源很多rknn的依赖包装不上

3. 板端配置

主要是更新驱动

  1. rknpu2/runtime/Linux/librknn_api/aarch64, 替换/usr/lib的同名驱动
  2. rknpu2/runtime/Linux/rknn_server/aarch64/usr/bin/,三个内容都使用777
  3. rknpu2/runtime/Linux/rknn_server/aarch64/usr/bin里使用./rknn_server启动usb服务器

4. 跑通模拟器代码

  1. 修改test.py里的target_platform为rk3588
  2. 然后在x86端直接运行是示例代码的test.py即可

5. 实机跑代码

  1. 完成步骤4,然后准备一根usb-typec的线, c口插入香橙派, usb是x86主机

  2. 使用adb devices -l查看链接情况,注意连不上的话先拔掉线,板子重启一般就好了

    • 在这里插入图片描述
  3. 在x86的test.py里修改ret = rknn.init_runtime()这一行

  4. ret = rknn.init_runtime(target='rk3588', device_id='adb的链接码)

  5. 执行test.py即可

执行效果

  • resnet18的半精度0.04s,从官方model zoo来看部署使用针对边缘优化的模型结构可以在此npu上有比较好的运行结果
    在这里插入图片描述
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/933235
推荐阅读
相关标签
  

闽ICP备14008679号