EMB-3581
瑞芯微Rockchip RK3568 处理器,2LAN,4USB3.0,4USB2.0,7COM,3.5寸板
◆ 支持瑞芯微Rockchip RK3568处理器
◆ 板载4GB LPDDR4内存,最大可支持8GB
◆ 1VGA,1HDMI,1LVDS
◆ 2
LAN,4USB3.0,4USB2.0,7COM
◆ 1
Mini-PCIe

安装基础环境python3.7(rknn_toolkit_lite2仅支持python3.7,3.9)

网上教程一大堆,这个没啥说的

下载RKNN SDK

https://wiki.t-firefly.com/zh_CN/ROC-RK3568-PC/usage_npu.html
RKNN SDK 为带有 NPU 的 RK3566/RK3568 芯片平台提供编程接口,能够帮助用户部署使用 RKNN-Toolkit2 导出的 RKNN 模型

复制librknn_api支持

运行命令

sudo cp RK_NPU_SDK_1.2.0/release/rknpu2/runtime/RK356X/Linux/librknn_api/aarch64/* /usr/lib

复制

RK_NPU_SDK_1.2.0/release/rknpu2/runtime/RK356X/Linux/librknn_api/aarch64/librknn_api.so
RK_NPU_SDK_1.2.0/release/rknpu2/runtime/RK356X/Linux/librknn_api/aarch64/librknnrt.so

/usr/lib

下载运行示例

rknn算子查询1.3

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

它会报错,问题不大,信息如下
解决方法:把图片换成640×640,或者cv2.resize(640×640)

--> Running model
img shape (224, 224, 3)
E RKNN: [10:37:13.815] rknn_inputs_set, param input size(150528) < model input size(1228800)
E Catch exception when setting inputs.
E Traceback (most recent call last):File "/usr/local/python37/lib/python3.7/site-packages/rknnlite/api/rknn_lite.py", line 184, in inferenceself.rknn_runtime.set_inputs(inputs, data_type, data_format, inputs_pass_through=inputs_pass_through)File "rknnlite/api/rknn_runtime.py", line 977, in rknnlite.api.rknn_runtime.RKNNRuntime.set_inputs
Exception: Set inputs failed. error code: RKNN_ERR_PARAM_INVALIDoutput:  None
Traceback (most recent call last):File "test.py", line 98, in <module>show_top5(outputs)File "test.py", line 38, in show_top5output = result[0].reshape(-1)
TypeError: 'NoneType' object is not subscriptable

修改后运行结果如下:

模型转换paddle---->onnx------>rknn

paddle---->onnx

前置条件,已导出推理模型

paddle.jit.save(model, args.infer_save_dir)

在aistudio上

!pip uninstall onnx -y
!pip install onnx==1.7
!pip install -U paddle2onnx==0.9.8
!paddle2onnx --model_dir save_model\--model_filename infer.pdmodel \--params_filename infer.pdiparams \--save_file FeaturePyramidNetwork.onnx \--opset_version 12 \--enable_dev_version True \--enable_onnx_checker True \--enable_auto_update_opset False


Your model ir_version is higher than the

E load_onnx: Traceback (most recent call last):
E load_onnx:   File "rknn/api/rknn_base.py", line 1182, in rknn.api.rknn_base.RKNNBase.load_onnx
E load_onnx:   File "rknn/api/rknn_base.py", line 603, in rknn.api.rknn_base.RKNNBase._create_ir_and_inputs_meta
E load_onnx:   File "rknn/api/ir_graph.py", line 45, in rknn.api.ir_graph.IRGraph.__init__
E load_onnx:   File "rknn/api/ir_graph.py", line 285, in rknn.api.ir_graph.IRGraph.rebuild
E load_onnx:   File "rknn/api/ir_graph.py", line 149, in rknn.api.ir_graph.IRGraph._clean_model
E load_onnx:   File "rknn/api/ir_graph.py", line 65, in rknn.api.ir_graph.IRGraph.infer_shapes
E load_onnx:   File "/home/LTL/.local/lib/python3.6/site-packages/onnx/checker.py", line 93, in check_model
E load_onnx:     C.check_model(model.SerializeToString())
E load_onnx: onnx.onnx_cpp2py_export.checker.ValidationError: Your model ir_version is higher than the checker's.

我转换的,paddle2onnx命令,最低就只能是V7

需要的V6

解决方法:

!pip uninstall onnx -y
!pip install onnx==1.7!pip uninstall onnxruntime -y
!pip install onnxruntime==1.6.0!pip uninstall onnxoptimizer -y
!pip install onnxoptimizer==0.1.0!pip install -U paddle2onnx==0.9.8!paddle2onnx    --model_dir=save_model \--model_filename infer.pdmodel \--params_filename infer.pdiparams \--save_file FeaturePyramidNetwork.onnx \--opset_version 12

onnx------>rknn

ImportError: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
--> Building model
Analysing : 100%|███████████████████████████████████████████████| 165/165 [00:00<00:00, 2812.62it/s]
Quantizating : 100%|█████████████████████████████████████████████| 165/165 [00:00<00:00, 646.19it/s]
E build: Catch exception when building RKNN model!
E build: Traceback (most recent call last):
E build:   File "rknn/api/rknn_base.py", line 1590, in rknn.api.rknn_base.RKNNBase.build
E build:   File "rknn/api/rknn_base.py", line 344, in rknn.api.rknn_base.RKNNBase._generate_rknn
E build:   File "rknn/api/rknn_base.py", line 276, in rknn.api.rknn_base.RKNNBase._export_rknn
E build: ImportError: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory

先看环境中有没有

find / -name libpython3.6m.so.1.0

有则复制

sudo cp /usr/local/python36/lib/libpython3.6m.so.1.0 /usr/local/lib64/
sudo cp /usr/local/python36/lib/libpython3.6m.so.1.0 /usr/lib/
sudo cp /usr/local/python36/lib/libpython3.6m.so.1.0 /usr/lib64/

没有就重新编译安装,安装后查看环境中有没有,有则复制

cd Python-3.6.3
./configure --prefix=/usr/local/python36 --enable-shared CFLAGS=-fPIC
make
sudo make install

ImportError: libprotobuf.so.10: cannot open shared object file: No such file or directory

E build: Catch exception when building RKNN model!
E build: Traceback (most recent call last):
E build:   File "rknn/api/rknn_base.py", line 1590, in rknn.api.rknn_base.RKNNBase.build
E build:   File "rknn/api/rknn_base.py", line 344, in rknn.api.rknn_base.RKNNBase._generate_rknn
E build:   File "rknn/api/rknn_base.py", line 276, in rknn.api.rknn_base.RKNNBase._export_rknn
E build: ImportError: libprotobuf.so.10: cannot open shared object file: No such file or directory

解决方法
下载protobufv3.0.0,点击download zip,不要用git clone
下载gmock-1.7.0
版本一定要对齐
把gmock解压出来的目录拷贝到protobuf目录下,改名为gmock,目录结构如下:

cd protobuf

vim aotogen.sh将删掉以下部分代码,禁用自动下载,已经手动下载好了:

if test ! -e gmock; thenecho "Google Mock not present.  Fetching gmock-1.7.0 from the web..."curl -O https://googlemock.googlecode.com/files/gmock-1.7.0.zipunzip -q gmock-1.7.0.ziprm gmock-1.7.0.zipmv gmock-1.7.0 gmock
fi

安装protobuf,分别执行以下代码

./autogen.sh
./configure
make
make check
make install

配置libprotobuf.conf

sudo vim /etc/ld.so.conf.d/libprotobuf.conf 包含内容:/usr/local/lib
sudo ldconfig

验证是否安装成功,查看版本号

~$ protoc --version
~$ libprotoc 3.0.0

华北工控EMB3581 瑞芯微Rockchip RK3568,python部署rknn_toolkit_lite2相关推荐

  1. Banana Pi BPI-R2 Pro 开源路由器采用瑞芯微Rockchip RK3568芯片方案设计

    Banana Pi BPI-R2 Pro 开源路由器采用Rockchip RK3568芯片方案设计, 板载2GB LPDDR4内存和16GB eMMC存储,支持2个USB 3.0接口,5千兆网口.M. ...

  2. 瑞芯微 Rockchip RKNN-Toolkit 环境搭建

    瑞芯微 Rockchip RKNN-Toolkit 环境搭建 flyfish RKNN-Toolkit介绍 RKNN-Toolkit是一个软件开发工具包,为用户提供在 PC 和 Rockchip NP ...

  3. 目标检测 YOLOv5 - v6.2版本模型在瑞芯微 Rockchip设备从训练到C++部署实践

    目标检测 YOLOv5 - v6.2版本模型在瑞芯微 Rockchip设备从训练到C++部署实践 flyfish 源码地址 https://github.com/shaoshengsong/rockc ...

  4. 瑞芯微 Rockchip rknn 模型在线预编译

    瑞芯微 Rockchip rknn 模型在线预编译 flyfish 主机Host环境 Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Re ...

  5. 【瑞芯微Rockchip Linux平台】SoftAp需求实现(3)动态获取BT Mac地址并更新beacon帧中的mac信息

    [瑞芯微Rockchip Linux平台]SoftAp需求实现(3)动态获取BT Mac地址并更新beacon帧中的mac信息 1. 获取本机的蓝牙mac地址 __get_bt_mac_addr() ...

  6. 瑞芯微rockchip PX30触摸屏调试记录

    系列文章目录 瑞芯微rockchip PX30 串口调试记录 瑞芯微rockchip PX30 显示屏调试 瑞芯微rockchip PX30触摸屏调试记录 瑞芯微rockchip PX30 QT环境搭 ...

  7. 瑞芯微Rockchip出品的驱动安装助手DriverAssitant v4.6

    关键词: 瑞芯微 Rockchip  RK3308  RK3399  驱动安装  DriverAssitant  V4.6  MASKROM  LOADER 驱动安装比较简单,直接点击"驱动 ...

  8. 【瑞芯微Rockchip Linux平台】SoftAp需求实现(2)根据传参修改SSID和密码,SSID以wifi MAC地址后四位对结尾

    [瑞芯微Rockchip Linux平台]SoftAp需求实现(2)根据传参修改SSID和密码 1. main 函数实现 2. set_hostap_ssid 函数,配置修改hostapd.conf文 ...

  9. 瑞芯微 Rockchip 升级npu驱动

    瑞芯微 Rockchip 升级npu驱动 flyfish 本例以RV1126为例,其他例子请看 https://github.com/rockchip-linux/rknpu 主机连接开发版 主机为U ...

最新文章

  1. nginx 配置文件解释及优化安全
  2. 转载------------java equals 方法
  3. es6 Promise.resolve()方法
  4. linux getline函数用法,get()与getline()
  5. 小米12系列有望于双12当天发布:贴合命名 争取骁龙8G1首发
  6. Leetcode | Pow(x, n)
  7. 克罗谈投资策略05_涨势买入,跌势卖出
  8. windows下JDK版本之间的切换
  9. 《大数据技术原理与应用》林子雨 期末复习重点(总结)
  10. 【EDA技术】 实验一 利用半减器设计一位全减器
  11. SpringCloud:Gateway网关配置及使用
  12. nginx代理安装ssl证书
  13. 启发式算法 Heuristic
  14. 基于牛顿冷却定律的时间衰减函数模型
  15. F280049C 输出三相互补对称SPWM波
  16. 小鸟云计算丨香港服务器带宽价格为什么差异大
  17. oracle与sun的java_甲骨文吞Sun Java何去何从?
  18. JAVA JSP 餐厅点餐系统源码(点餐系统)jsp点餐系统网上订餐系统在线订餐系统
  19. DXperience皮肤设置 C#第三方控件学习笔记
  20. UWB高精度定位最优方式:全无线方式部署UWB定位系统

热门文章

  1. 我听很多人说JAVA已经过时了,下一个要淘汰的语言就是JAVA,真的是这样吗?
  2. 基于JAVA技术的WEB网管软件开发方案
  3. 2021下半年最新前端求职面试指导(完整版)
  4. SPSS工具:聚类分析(1)快速聚类---绩效评估
  5. Excel 2010 VBA 入门 063 跨表数据录入
  6. 电影主题介绍html,影视2号模板Typecho影视类主题
  7. 想为自己的网站添加短信验证怎么弄_捷径教程讲解一云手机短信验证码接受平台的聚合...
  8. 餐饮类小程序开发有哪些优势和功能
  9. tomcat依赖导入步骤_图说tomcat(三)导入tomcat源码到idea
  10. Docker----(七)数据卷管理