rknn-toolkit环境搭建

2 篇文章 1 订阅

一、rknn-toolkit是什么

最近在评估rk1808运算性能,使用rk1808 npu必须将模型转化rockchip自己的模型rknn模型文件,rknn-toolkit是rockchip官方提供的工具包。工具包的主要用途如下:

RKNN-Toolkit开发套件提供了模型转换、推理运行和性能评估等几大功能,其还为我们提供了python调用的例程。

我们可以通过rknn-toolkit通过提供的 python 接口可以便捷地完成以下功能:

1)模型转换:rknn-toolkit支持 Caffe、Tensorflow、TensorFlow Lite、ONNX、Darknet 模型,支持RKNN 模型导入导出,能够在rockchip硬件平台上加载使用,充分发挥npu的加速。

2)模型推理:能够在我们 PC 上模拟加载模型并获取推理结果,也可以在特定硬件平台RK3399Pro/RK1808 的硬件(默认提供的是Linux环境)上运行模型并获取推理结果。

3)性能评估:能够为我们提供模型运算性能的评估,通过在 PC 上模拟运行并获取模型总耗时及每一层的耗时信息,或者通过联机调试(adb)的方式在指定硬件平台 RK3399Pro/RK1808 的硬件上运行模型,并获取模型在硬件上运行时的总时间和每一层的耗时信息,来得出模型的性能等状态。

二、环境搭建

安装rknn-toolkit有两种方式:手动安装和pip自动安装。

1.手动安装

1.1 基础库的安装:python3,pip3 libglib2.0-dev  libsm-dev libxrender-dev libxext-dev(注意pip的版本,unbuntu 16.04默认的版本太低,不升级会有一大堆的异常)

sudo apt-get install -y python3 python3-pip libglib2.0-dev \ libsm-dev libxrender-dev libxext-dev

1.2 rknn-toolkit 库下载( rknn-toolkit 1.6版本) 

Baidu Cloud: https://eyun.baidu.com/s/3eTG3VsY   (pwd:rknn)
Onedrive:https://rockchips-my.sharepoint.com/:f:/g/personal/addy_ke_rockchips_onmicrosoft_com/EkQBzgZ6fmJFlZRLf6AjL_0BcEn9uGzNVovRkKxWEboA8g?e=J5rjYS
Github: https://github.com/rockchip-linux/rknn-toolkit

1.3 安装RKNN Toolkit(不同版本rknn-toolkit目录名不同)

cd rknn-toolkit
pip3 install --user -r rknn-toolkit/packages/requirements-cpu.txt
# rknn-toolkit的版本可能不一样,请选择对应的文件进行安装
pip3 install --user rknn-toolkit/packages/rknn_toolkit-1.3.0-cp35-cp35m-linux_x86_64.whl

(PS:如果PC中有GPU加速则用requirements-gpu.txt替换requirements-cpu.txt。)

2.自动安装

2.1配置pip

新建pip.conf文件(注意:先升级pip的版本到最新版本,不然会有很大问题)

sudo vim /etc/pip.conf

在pipconf文件中添加如下内容

[global]

extra-index-url = http://repo.rock-chips.com/pypi/simple

trusted-host = repo.rock-chips.com

(ps:如果出现pip版本问题,可以参考我的另一篇文章:https://blog.csdn.net/hanpengyu/article/details/113257105)

2.2安装基础库

sudo apt install cmake python3-scipy python3-h5py libprotobuf-dev protobuf-compiler zlib1g-dev libjpeg-dev python3-dev python3-opencv

2.3安装rknn-toolkit

pip3 install --user -U rknn-toolkit

如果使用pc棒的安装rknn-toolkit-lite

pip3 install --user -U rknn-toolkit-lite

2.4安装平台相关

RK3399Pro :

pip3 install --user -U rknn-toolkit

RK3399Pro OR RK1808 (PC棒):

pip3 install --user -U rknn-toolkit-lite

2.5安装在rknn-toolkit api

下载地址如下:

GitHub:
* for 1808: https://github.com/rockchip-linux/rknpu
* for other platforms: https://github.com/rockchip-linux/RKNPUTools

Baidu Cloud: https://eyun.baidu.com/s/3kXoPFuf    (pwd: uMuA)
Onedrive: https://rockchips-my.sharepoint. ... f1OJODES1g?e=ZSjbAo


rk3399pro:

sudo apt install rknn-rk3399pro

(or)

sudo dnf install rknn-rk3399pro

rk1808 computer stric:

sudo apt install rknn-rk1808

(or)

sudo dnf install rknn-rk1808

更新api

sudo apt update -y

3.安装tensorflow的库

注意:rknn模型应该是基于tensorflow的,如果不装,调用时会出错,出错截图如下:(本例子是onnx模型转化为rknn)

python3 run_rknn.py
Traceback (most recent call last):
  File "run_rknn.py", line 74, in <module>
    rknn = RKNN()
  File "/home/roc/.local/lib/python3.5/site-packages/rknn/api/rknn.py", line 47, in __init__
    self.config()
  File "/home/roc/.local/lib/python3.5/site-packages/rknn/api/rknn.py", line 676, in config
    return self.rknn_base.config(args)
  File "rknn/api/rknn_base.py", line 72, in rknn.api.rknn_base.RKNNBase.config
  File "/home/roc/.local/lib/python3.5/site-packages/rknn/base/acuitylib/__init__.py", line 1, in <module>
    from acuitylib.optimize.optimizer import Optimizer
  File "/home/roc/.local/lib/python3.5/site-packages/rknn/base/acuitylib/__init__.py", line 1, in <module>
    from acuitylib.optimize.optimizer import Optimizer
  File "rknn/base/acuitylib/optimize/optimizer.py", line 14, in init rknn.base.acuitylib.optimize.optimizer
  File "rknn/base/acuitylib/optimize/rules/merge_layer.py", line 3, in init rknn.base.acuitylib.optimize.rules.merge_layer
  File "/home/roc/.local/lib/python3.5/site-packages/rknn/base/acuitylib/layer/__init__.py", line 2, in <module>
    from acuitylib.layer.add import *
  File "rknn/base/acuitylib/layer/add.py", line 1, in init rknn.base.acuitylib.layer.add
  File "rknn/base/acuitylib/layer/acuitylayer.py", line 3, in init rknn.base.acuitylib.layer.acuitylayer
  File "rknn/base/acuitylib/xtf.py", line 1, in init rknn.base.acuitylib.xtf
ImportError: No module named 'tensorflow'

pip安装

pip3 install --user -U tensorflow==1.14.0

 

 

 

 

  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
RKNN-Toolkit2是一个用于在Rockchip AI芯片上进行深度学习推理的工具包。它提供了一系列工具和API,用于将训练好的模型转换为RKNN格式,并在Rockchip AI芯片上进行推理。 使用RKNN-Toolkit2,您可以完成以下任务: 1. 模型转换:将训练好的模型转换为RKNN格式,以便在Rockchip AI芯片上进行推理。 2. 模型优化:对模型进行优化,以提高推理性能和准确性。 3. 模型部署:将转换和优化后的模型部署到Rockchip AI芯片上进行推理。 4. 推理测试:在rknn-toolkit2提供的模拟器中进行推理测试,以验证模型的性能和准确性。 以下是使用RKNN-Toolkit2的一些示例步骤: 1. 安装RKNN-Toolkit2:请参考引用中提供的安装教程,按照步骤安装RKNN-Toolkit2。 2. 准备模型:准备一个训练好的模型,可以是常见的深度学习框架(如TensorFlow、PyTorch)训练的模型。 3. 模型转换:使用RKNN-Toolkit2将模型转换为RKNN格式。根据您的模型类型和需求,可以选择不同的转换方法和参数进行转换。 4. 模型优化:根据您的需求,使用RKNN-Toolkit2对转换后的模型进行优化,以提高推理性能和准确性。 5. 模型部署:将优化后的模型部署到Rockchip AI芯片上进行推理。根据您的硬件环境和需求,可以选择不同的部署方式和参数进行部署。 6. 推理测试:使用rknn-toolkit2提供的模拟器,在模拟环境中进行推理测试,以验证模型的性能和准确性。 请注意,具体的步骤和参数可能因您的具体需求和环境而有所不同。建议您参考RKNN-Toolkit2的官方文档和示例代码,以获取更详细的信息和指导。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值