paddleocr使用FastDeploy 部署工具部署 rknn 模型

在 PC 端转换 pdmodel 模型为 rknn 模型和在板端使用百度飞浆开发的 FastDeploy 部署工具部署 rknn 模型

以下内容是在 PC 端系统为 Ubuntu20.04,板端系统为ubuntu20.04 的环境下实现的

描述:

官网地址

rknn_zoo RKNPU2_SDK RKNN Model Zoo

RKNN软件栈可以帮助用户快速将AI模型部署到Rockchip芯片中,整体框架如下:

使用RKNPU,用户需要先在电脑上运行RKNN-Toolkit2工具,将训练好的模型转化为RKNN格式模型,然后在开发板上使用RKNN C API或者Python API进行推理。

  • RKNN-Toolkit2是一套软件开发套件,供用户在PC和Rockchip NPU平台上进行模型转换、推理和性能评估。

  • RKNN-Toolkit-Lite2为Rockchip NPU平台提供Python编程接口,帮助用户部署RKNN模型,加速AI应用的落地。

  • RKNN Runtime 为 Rockchip NPU 平台提供 C/C++ 编程接口,帮助用户部署 RKNN 模型,加速 AI 应用的落地。

  • RKNPU内核驱动负责和NPU硬件交互,已经开源,可以在Rockchip内核代码中找到。

支持平台

  • RK3588系列
  • RK3576系列
  • RK3566/RK3568系列
  • RK3562系列
  • RV1103/RV1106
  • RV1103B/RV1106B
  • RK2118

笔记

  • RKNN-Toolkit2 与RKNN-Toolkit不兼容
  • 支持的 Python 版本包括:
    • Python 3.6
    • Python 3.7
    • Python 3.8
    • Python 3.9
    • Python 3.10
    • Python 3.11
    • Python 3.12
  • 最新版本:v2.2.0

3.38.1. Ubuntu PC 端环境搭建

Ubuntu PC 端需要安装的工具及用途:

3.38.1.1.PC 端安装 Anaconda3(这个简单不在介绍)

3.38.1.2.PC 端安装 RKNN-Toolkit2

1、创建一个环境:

conda create -n fastdeploy python==3.9

conda activate fastdeploy

2、安装 pip3 开发工具和包管理工具

sudo apt-get install python3-dev python3-pip

安装 RKNN-Toolkit2 的依赖包

sudo apt-get install libxslt1-dev zlib1g-dev libglib2.0 libs
m6 libgl1-mesa-glx libprotobuf-dev gcc

rknn_toolkit2 对 numpy 存在特定依赖

pip install numpy==1.19.4 --only-binary=:all: -i https://pypi.tuna.tsinghua.edu.cn/simple

安装 git 工具

sudo apt install git

git clone https://github.com/rockchip-linux/rknn-toolkit2

安装 python3.8 版本对应的 RKNN-Toolkit2

cd rknn-toolkit2/rknn-toolkit2/packages/

pip install rknn_toolkit2-1.6.0+81f21f4d-cp39-cp39-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

报错:

ERROR: Ignored the following versions that require a different python version: 1.14.0 Requires-Python >=3.10; 1.14.0rc1 Requires-Python >=3.10; 1.14.0rc2 Requires-Python >=3.10; 1.14.1 Requires-Python >=3.10; 2.1.0 Requires-Python >=3.10; 2.1.0rc1 Requires-Python >=3.10; 2.1.1 Requires-Python >=3.10; 2.1.2 Requires-Python >=3.10

ERROR: Could not find a version that satisfies the requirement tf-estimator-nightly==2.8.0.dev2021122109 (from tensorflow) (from versions: none)

ERROR: No matching distribution found for tf-estimator-nightly==2.8.0.dev2021122109

解决方法:

不能在改python版本了,要不然一直报错,降低tensorflow的版本

pip install tensorflow==2.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
  • RKNN-Toolkit2 与RKNN-Toolkit不兼容
  • 目前仅支持:
    • Ubuntu 18.04 Python 3.6/3.7
    • Ubuntu 20.04 Python 3.8/3.9
    • Ubuntu 22.04 Python 3.10/3.11

3.38.1.3.PC 端安装 Paddle2ONNX

pip install paddle2onnx -i https://pypi.tuna.tsinghua.edu.cn/simple

3.38.2. 板端环境搭建

板端需要安装的工具及用途

3.38.2.1.板端安装 Anaconda3

1、在板端打开浏览器,在地址栏输入下面的网址下载安装 Anaconda3 的脚本

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.07-1-Linux-x86_64.sh

2、运行 Anaconda3-2023.07-1-Linux-aarch64.sh 脚本安装 Anaconda3

sh Anaconda3-2023.07-1-Linux-aarch64.sh

完成安装

3、如果在终端使用 conda 命令,显示命令不存在,需要修改~/.bashrc 文件

sudo apt-get update
sudo apt-get install gedit

gedit ~/.bashrc

在~/.bashrc 文件末尾加上

export PATH=/home/orangepi/anaconda3/bin:$PATH

修改生效:

source ~/.bashrc

conda的初始化:

conda init bash

关闭当前终端,重新打开一个终端,完成!!!

3.38.2.2.板端安装 rknpu2 驱动

1)在板端打开终端,通过 Anaconda3 工具创建 python 版本为 3.9 的环境

conda create -n fastdeploy python=3.9

报错:

failed

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/linux-aarch64/current_repodata.json\>

解决方法:

添加清华镜像源

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes

conda activate fastdeploy

3)通过 wget 下载 rknpu2_device_install_1.4.0.zip 文件

wget https://bj.bcebos.com/fastdeploy/third_libs/rknpu2_device_install_1.4.0.zip

4)然后执行的下面的命令解压 rknpu2_device_install_1.4.0.zip, 解压后会得到

rknpu2_device_install_1.4.0 文件夹和__MACOSX 文件夹

unzip rknpu2_device_install_1.4.0.zip

5)切换到 rknpu2_device_install_1.4.0 目录下

cd rknpu2_device_install_1.4.0/

6)在该目录下有 rknn_install_rk3588.sh 脚本,运行该脚本,即可完成板端 rknpu2

驱动的安装

(fastdeploy)orangepi@orangepi:~/rknpu2_device_install_1.4.0$

sudo bash rknn_install_rk3588.sh

走到这一部报错了具体原因不清楚,换了一种方法操作,完成之后在更新出来

找到问题了,我的笔记本22.04的,板子是20.04,所以22.04需要装python3.10或3.11的

仅供参考!

相关推荐
希忘auto18 小时前
详解Redis的常用命令
redis·1024程序员节
yaosheng_VALVE1 天前
探究全金属硬密封蝶阀的奥秘-耀圣控制
运维·eclipse·自动化·pyqt·1024程序员节
dami_king1 天前
SSH特性|组成|SSH是什么?
运维·ssh·1024程序员节
一个通信老学姐6 天前
专业125+总分400+南京理工大学818考研经验南理工电子信息与通信工程,真题,大纲,参考书。
考研·信息与通信·信号处理·1024程序员节
sheng12345678rui6 天前
mfc140.dll文件缺失的修复方法分享,全面分析mfc140.dll的几种解决方法
游戏·电脑·dll文件·dll修复工具·1024程序员节
huipeng9267 天前
第十章 类和对象(二)
java·开发语言·学习·1024程序员节
earthzhang20217 天前
《深入浅出HTTPS》读书笔记(19):密钥
开发语言·网络协议·算法·https·1024程序员节
爱吃生蚝的于勒8 天前
计算机基础 原码反码补码问题
经验分享·笔记·计算机网络·其他·1024程序员节
earthzhang20218 天前
《深入浅出HTTPS》读书笔记(20):口令和PEB算法
开发语言·网络协议·算法·https·1024程序员节
一个通信老学姐9 天前
专业140+总分410+浙江大学842信号系统与数字电路考研经验浙大电子信息与通信工程,真题,大纲,参考书。
考研·信息与通信·信号处理·1024程序员节