Firefly开源社区

3399pro 更新 rknn 三件套 1.4.0 !!!

196

积分

0

威望

0

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
196
发表于 2020-12-7 16:43:16     
本帖最后由 板蓝根 于 2020-12-15 17:11 编辑

  • RKNN 三件套介绍

  • rknn-toolkit                      ->              模型转换推理的 python 环境开工具
  • DRV                              ->               npu 和上位机通信的服务
  • API                                ->              调用 npu 硬件资源的 api 接口

  • 更新 DRV

    Firefly 已经把关于 npu 相关的服务程序打包成 deb 包并且推上了 apt 服务器,使用 apt 就可轻松完成更新。
  • 查看当前 DRV 版本
    1. firefly@firefly:~$ dpkg -l | grep 3399pro
    2. ii firefly-3399pronpu-driver 1.4.0 arm64 <insert up to 60 chars description
    复制代码
  • 如果 DRV 版本为 1.4.0 就不需要更新跳过此步,否则使用 apt
    1. sudo apt update
    2. sudo apt install firefly-3399pronpu-driver
    复制代码


  • 更新 rknn-toolkit

  • 百度云盘拉去 rknn-toolkit-1.4.0.7z 包并且解压
    1. 地址:https://pan.baidu.com/s/1bSiUHo-HT5yOP3UuxVg24A
    2. 密码: r5tt
    复制代码
  • 安装 python3.5
    1. sudo apt update
    2. sudo apt install software-properties-common
    3. sudo add-apt-repository ppa:deadsnakes/ppa
    4. sudo apt install python3.5-dev
    复制代码
  • 由于 ubuntu18.04 自带 python3.6 所以需要安装 virtualenv 对多个 python 版本进行管理
    1. sudo apt install virtualenv
    2. virtualenv -p /usr/bin/python3.5 venc ; source venc/bin/activate
    复制代码
  • 如果安了 pip3 可以看到当前 python 版本为 3.5
    1. (venv) firefly@firefly:~$ pip3 -V
    2. pip 20.3.1 from /home/firefly/venv/lib/python3.5/site-packages/pip (python 3.5)
    复制代码
  • 到此为止,python环境已经准备完毕,然后可以根据代码包 doc/Rockchip_Quick_Start_RKNN_Toolkit_V1.4.0_CN.pdf 中的 "6.2 安装 RKNN-Toolkit" 完成安装。
  • 注意:Rokchip 发布的 whl 安装包中也支持 python3.7,但是 Tensorflow 官方并不支持 python3.7。网上也有介绍直接使用 python3.6 的 Tensorflow whl 安装包通过小量修改来安装到 python3.7 的环境中(本人试过确实可以),但是为了少走弯路和稳定性还是老老实实安装 python3.5 的吧。另外 rknn-toolkit 也可以安装在 PC 上主要用作模型转换,具体方法请参考 doc/ 下文档,PC下安装按着文档走比较顺利,这里就不做介绍了。

  • 更新 API

  • 在完成了 rknn-toolkit 安装后其实同时已经完成了 api 的更新了,如果直接使用 rknn-toolkit 进行开发就可以看到内部调用 api 的版本就是 1.4.0,如
    1. firefly@firefly:~/rknn-toolkit/examples/tensorflow/ssd_mobilenet_v1$ python ssd.py
    2. --> Init runtime environment
    3. I NPUTransfer: Starting NPU Transfer Client, Transfer version 2.0.0 (8f9ebbc@2020-04-03T09:12:43)
    4. D RKNNAPI: ==============================================
    5. D RKNNAPI: RKNN VERSION:
    6. D RKNNAPI: API: 1.4.0 (b4a8096 build: 2020-08-12 10:16:10)
    7. D RKNNAPI: DRV: 1.4.0 (b4a8096 build: 2020-09-14 11:15:57)
    8. D RKNNAPI: ==============================================
    9. done
    10. --> Running model
    11. D RKNNAPI: __can_use_fixed_point: use_fixed_point = 1.

    12. done
    13. W When performing performance evaluation, inputs can be set to None to use fake inputs.
    14. D RKNNAPI: __can_use_fixed_point: cache use_fixed_point = 1.

    15. ========================================================================
    16. Performance
    17. ========================================================================
    18. Total Time(us): 16514
    19. FPS: 60.55
    20. ========================================================================
    复制代码
  • Rockchip rknn api 除了支持 python 接口同时也支持 C/C++ 接口,下载 rknpu 仓库就可以获取对应库文件和 demo 了
    1. git clone https://github.com/FireflyTeam/rknpu.git -b rk
    复制代码


  • 其他

  • 此流程在 AIO-3399PROC 上( 硬件:6G 版本,软件:AIO-RK3399PROC-UBUNTU18.04-GPT-20200518-1406.img)验证通过
  • 3G 版本可能安装 rknn-toolkit 编译时会出现内存不足杀掉进程,你可以选择关掉桌面环境来安装,或者直接使用 rknn-toolkit-lite(在 rknn-toolkit 包内以包含)。lite 版本只包含推理功能,模型转换可以挪到 PC 机工作。
  • 流程中不同固件环境可能出现环境依赖缺失,pip3 安装错误提示相当详细,根据提示使用 apt 基本上可以解决所有依赖问题。

回复

使用道具 举报

147

积分

0

威望

0

贡献

技术小白

积分
147
发表于 2020-12-28 11:12:09     
tookit必须要 python3.5么? 我已经被python的版本搞疯了;win 一套,linux开发环境一套,开发板一套;还tm要一致;
各个系统自带的还不一样;烦的1b
回复

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

积分
38
发表于 2020-12-29 13:37:57     
Rockchip能不能给个3.6版本的.板子上自带的是3.6,他Release出来的是3.5 和 3.7............
回复

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

积分
38
发表于 2020-12-29 13:47:10     
感谢楼主分享!
回复

使用道具 举报

196

积分

0

威望

0

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
196
发表于 2021-2-4 11:02:00     
Gang 发表于 2020-12-29 13:37
Rockchip能不能给个3.6版本的.板子上自带的是3.6,他Release出来的是3.5 和 3.7............

这个是 rknntoolkit 包是 rk 给的,目前他们只给出了 3.5 和 3.7的,估计是为了适配 debian 10。ubuntu 是可以安装 3.5 的只是麻烦一点哈
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表