当前位置: 首页 > article >正文

瑞芯微推理RKNN使用

参考资料

toolkit2
官网资料
野火实践指南

Ubuntu22.04实践

安装toolkit2

  1. 安装命令
    pip3 install -r xxx/packages/requirements_cp310-1.6.0.txt
    pip3 install xxx/packages/rknn_toolkit2-1.6.0+81f21f4d-cp310-cp310-linux_x86_64.whl
    
    注意加上 -i xxx 可能会造成下载tf-estimator-nightly-2.8.0.dev2021122109失败,所以安装ensorboard-2.8.0时不加-i xxx 。
  2. 检测是否安装成功
    (toolkit2_1.5) llh@YH-LONG:~$ python3
    Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from rknn.api import RKNN
    >>> 
    

推理步骤与过程

  1. 模型转换

    • 将其它模型转为onnx模型
    • 将onnx模型转换为rknn模型 python convert.py …/model/yolov8n.onnx rk3588
  2. 进行推理测试
    板端推理 python yolov8.py --model_path …/model/yolov8.rknn --target rk3568 --img_show

    • 遇到问题1 ValueError: ‘rknn_model_zoo’ is not in list. 解决办法将"rknn_model_zoo"改为实际项目名字"rknn_model_zoo-main"
    • 遇到问题2 error: no devices/emulators found. 板子连接问题,未连接板子或板子未连接好

    PC端推理 可在examples目录下找到对应的模型测试文件,如…/examples/onnx/yolov5/test.py。在目录下可直接执行python test.py

  3. 板端推理前置步骤

    • 板端GCC安装 [GCC下载](https://releases.linaro.org/components/toolchain/binaries/6.3-
      2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz)
    • 计算机端 ./build-linux.sh -t rk3568 -a aarch64 -d yolov8 执行完毕会生成install文件夹
    • 将生成的文件推到板端 adb push install/<TARGET_PLATFORM>linux/rknn_yolov8_demo/ /userdata/
    • 进入板端,运行命令
      adb shell
      cd /userdata/rknn_yolov8_demo
      
      export LD_LIBRARY_PATH=./lib
      ./rknn_yolov8_demo model/yolov8.rknn model/bus.jpg
      
    • 生成结果为out.png。adb pull /userdata/rknn_yolov8_demo/out.png

http://www.kler.cn/news/233202.html

相关文章:

  • 传输频宽是啥?对网速影响有多大?
  • 【MySQL进阶之路】磁盘随机读写和顺序读写对MySQL性能的影响
  • 《动手学深度学习(PyTorch版)》笔记7.7
  • Git 消除对某个文件的追踪
  • 【代码】Processing笔触手写板笔刷代码合集
  • 【0256】揭晓pg内核中MyBackendId的分配机制(后端进程Id,BackendId)(二)
  • C++初阶篇----新手进村
  • 微服务组件
  • go语言进阶篇——面向对象(一)
  • Redis 使用 RDB 持久化方式的过程
  • 基于鲲鹏服务器的LNMP配置
  • 机器学习:回归决策树(Python)
  • re:从0开始的CSS学习之路 7. 盒子模型
  • AR特效自研AI算法技术解决方案
  • JVM之GC垃圾回收
  • Ubuntu22.04安装黑屏(进入U盘安装引导时 和 安装完成后)
  • 【RT-DETR进阶实战】利用RT-DETR进行视频划定区域目标统计计数
  • 力扣刷题之旅:进阶篇(四)—— 滑动窗口问题
  • 牛客网SQL进阶127: 月总刷题数和日均刷题数
  • 【kafka】使用kafka client连接 kerberos认证的 kafka,scala版
  • 书生·浦语大模型第三课作业
  • Blender教程(基础)--试图的显示模式-22
  • TDengine用户权限管理
  • 图论:合适的环
  • 【Docker】了解Docker Desktop桌面应用程序,TA是如何管理和运行Docker容器(2)
  • Spring第三天
  • Vscode编译运行多个C++文件
  • Unity GC
  • 题目练习(生死时速2.0版)
  • C#既然数组长度不可改变,那么如何动态调整集合类型数组大小,以便添加或删除元素?