rknn-toolkit环境搭建

一、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
    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
    from acuitylib.optimize.optimizer import Optimizer
  File "/home/roc/.local/lib/python3.5/site-packages/rknn/base/acuitylib/__init__.py", line 1, in
    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
    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

 

 

 

 

你可能感兴趣的:(AI,RKNN,神经网络)