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的

仅供参考!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法|40K*15.5 + 40w股票+5w签字费|美团北斗大模型面经 ,已拒offer

关注我&#xff0c;掌握目前面试行情&#xff0c;看面经&#xff0c;平均多拿3个offer 背景&#xff1a; 北京理工大学 985本硕&#xff0c;4篇顶会‍‍‍‍ 两面结束&#xff0c;二面面试官说虽然优秀&#xff0c;但不能够入选人才计划。 【第一次谈薪】 37k*15.5 30w股票5…

【C++面试刷题】快排(quick_sort)和堆排(priority_queue)的细节问题

一、快排的快速选择算法两种思路&#xff08;面试会考&#xff09;O(N) 快排的三数取中思路&#xff1a; 重要的是将它三个数进行排序最左为最小&#xff0c;中间为次小&#xff0c;最右为最大的数。&#xff08;错误原因&#xff1a;我刚开始没有将这三个数进行排序&#xff…

如何认识泛基因组?从单一到多元?

近年来&#xff0c;随着多种动植物参考基因组的不断公布及同种不同个体植物基因组间的相互比较&#xff0c;人们逐渐认识到单一参考基因组不能代表物种内的多样性&#xff0c;在此基础上泛基因组概念应运而生。随着三代测序技术的发展&#xff0c;泛基因组的研究迎来了黄金发展…

Android Activity 启动模式

Standard 启动模式 页面跳转顺序 MainActivity -> StandardActivity -> StandardActivity -> StandardActivity 页面栈 示例图 任务栈中只存在MainActivity时 任务栈中存在MainActivity、StandardActivity MainActivity -> StandardActivity MainActivity…

使用freemarker实现在线展示文档功能开发,包括数据填充

首先&#xff0c;在这个独属于程序员节日的这一天&#xff0c;祝大家节日快乐【求职的能找到心仪的工作&#xff0c;已经工作的工资翻倍】。 ---------------------------------------------------------------回到正文-----------------------------------------------------…

合约门合同全生命周期管理系统:企业合同管理的数字化转型之道

合约门合同全生命周期管理系统&#xff1a;企业合同管理的数字化转型之道 1. 引言 在现代企业中&#xff0c;合同管理已经不再是简单的文件存储和审批流程&#xff0c;而是企业合规性、风险管理和业务流程的关键环节之一。随着企业规模的扩大和合同数量的增加&#xff0c;传统…

web3.0 开发实践

优质博文&#xff1a;IT-BLOG-CN 一、简介 Web3.0也称为去中心化网络&#xff0c;是对互联网未来演进的一种概念性描述。它代表着对现有互联网的下一代版本的设想和期望。Web3.0的目标是通过整合区块链技术、分布式系统和加密技术等新兴技术&#xff0c;构建一个更加去中心化…

双非本秋招成功入职小米软开

大家好&#xff0c;我是程序员阿药。最近有位同学说用了这个刷题工具&#xff0c;入职小米软开了&#xff0c;推荐给大家。 简介 微学时光是一款专为计算机专业学生和IT行业求职者设计的面试刷题小程序&#xff0c;它汇集了丰富的计算机面试题和知识点&#xff0c;旨在帮助用…

Linux CentOS7下创建SFTP服务器

本文详细介绍了在Linux CentOS上部署安全文件传输协议&#xff08;SFTP&#xff09;服务器的全过程。SFTP基于SSH&#xff08;安全壳层协议&#xff09;提供文件传输服务&#xff0c;继承了SSH的安全特性&#xff0c;如数据加密、完整性验证和服务器认证等&#xff0c;确保数据…

速来!未发表!DTW-Kmeans-Transformer-BiLSTM组合模型!时序聚类+状态识别!

速来&#xff01;未发表&#xff01;DTW-Kmeans-Transformer-BiLSTM组合模型&#xff01;时序聚类状态识别&#xff01; 目录 速来&#xff01;未发表&#xff01;DTW-Kmeans-Transformer-BiLSTM组合模型&#xff01;时序聚类状态识别&#xff01;效果一览基本介绍程序设计参考…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-25

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-25 0. 前言 大语言模型在很多领域都有成功的应用&#xff0c;在本期计算机前沿技术进展研究介绍中&#xff0c;我们将带来一篇用大语言模型进行诺贝尔文学作品分析的论文。虽然有一定趁最近诺贝尔奖热潮的意味&…

【STM32 Blue Pill编程实例】-OLED显示HC-SR04超声波测距结果

OLED显示HC-SR04超声波测距结果 文章目录 OLED显示HC-SR04超声波测距结果1、HC-SR04超声波传感器介绍2、硬件准备及接线模块配置3.1 定时器配置3.2 OLED I2C接口配置3.3 HC-SR04引脚配置4、代码实现在本文中,我们将 HC-SR04 超声波传感器与 STM32 Blue Pill 开发板结合使用,并…

stm32单片机个人学习笔记12(DMA直接存储器存取)

前言 本篇文章属于stm32单片机&#xff08;以下简称单片机&#xff09;的学习笔记&#xff0c;来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记&#xff0c;只能做参考&#xff0c;细节方面建议观看视频&#xff0c;肯定受益匪浅。 STM32入门教程-2023版 细…

Java最全面试题->数据库/中间件->RocketMQ面试题

文章目录 RocketMQ多个MQ如何选型?RocketMQ组成部分有哪些?RocketMQ消费模式有几种?消息重复消费如何解决?RocketMQ如何保证消息的顺序消费?RocketMQ如何保证消息不丢失?RocketMQ如何实现分布式事务?RocketMQ的消息堆积如何处理?RocketMQ 下边是我自己整理的面试题,基…

FreeRTOS的事件组

实时嵌入式系统必须对事件做出响应。FreeRTOS允许将事件传递给任务。此类功能的示例包括信号量和队列&#xff0c;两者都具有以下属性&#xff1a; 它们允许任务在“阻塞”状态下等待单个事件发生。  当事件发生时&#xff0c;它们会取消阻塞单个任务——取消阻塞的任务是等待…

【论文阅读】Tabbed Out: Subverting the Android Custom Tab Security Model

论文链接&#xff1a;Tabbed Out: Subverting the Android Custom Tab Security Model | IEEE Conference Publication | IEEE Xplore 总览 “Tabbed Out: Subverting the Android Custom Tab Security Model” 由 Philipp Beer 等人撰写&#xff0c;发表于 2024 年 IEEE Symp…

Pulsar mq 设置延迟消息模式 pulsar mq 发送延迟消息 pulsar如何发送消费延时消息

1. 本文使用spring 提供的pulsarTemplate. 内部对于pulsar client 封装了一层 2.生产者为&#xff1a; String fingerprint UUID.randomUUID().toString();# 可修改TimeUnit 改为小时&#xff0c;天。 pulsarTemplate.newMessage(fingerprint).withTopic("dddd")…

闯关leetcode——222. Count Complete Tree Nodes

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/count-complete-tree-nodes/description/ 内容 Given the root of a complete binary tree, return the number of the nodes in the tree. According to Wikipedia, every level, except possibl…

设计模式基础概念(行为模式):责任链模式(Chain Of Responsibility)

概述 责任链模式是一种行为设计模式&#xff0c; 允许你将请求沿着处理者链进行发送。 收到请求后&#xff0c; 每个处理者均可对请求进行处理&#xff0c; 或将其传递给链上的下个处理者。 该模式建议你将这些处理者连成一条链。 链上的每个处理者都有一个成员变量来保存对于…

小小猫棒onu替换家用光猫,薅运营商带宽羊毛,突破1000M

小小猫棒onu 一、总体步骤 1 记录原来光猫信息 主要包括SN&#xff0c;ploam密码&#xff0c;loid、loid密码、 mac、上网的vlan id等 一般gpon采用SN、ploam密码、SNploam密码三种中的一种认证方式 一般Epon采用loid&#xff08;逻辑id&#xff09;、mac、loid mac三种中…