瑞芯微1808模型转换(onnx到rknn)环境配置过程

瑞芯微1808模型转换(onnx → \to rknn)环境配置

阅读本解决方案前,请读者确保已经根据官方的相关教程【rknn_model_zoo/common/rknn_converter at v1.5.0 · airockchip/rknn_model_zoo (github.com)】完成其他配置文件的修改,以便和您的模型参数相符合,才能转换成功

一、基本配置

  1. 创建虚拟环境

    conda create -n rknn python=3.8 -y
    
  2. 安装pytorch,该命令读者可在pytorch的历史版本【Previous PyTorch Versions | PyTorch】配置命令中找到

    conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cpuonly -c pytorch
    
  3. 修改requirements文件,将tensorflow-gpu1.14.0修改为tensorflow-gpu2.2.0

  4. 安装对应包

    pip install -r requirements-gpu.txt
    

    pip install -r requirements-cpu.txt
    
  5. 定位到rknn_toolkit-1.7.5-cp38-cp38-linux_x86_64.whl所在目录下,执行

    pip install rknn_toolkit-1.7.5-cp38-cp38-linux_x86_64.whl
    

二、解决方案

  1. 报错1

    Traceback (most recent call last):File "rknn_convert.py", line 14, in <module>from phase import convert_phase, validate_phaseFile "/17106/Pengcaiping/rknn_model_zoo/common/rknn_converter/phase.py", line 17, in <module>from image_utils.img_preprocesser_tools import Image_preprocessorFile "/17106/Pengcaiping/rknn_model_zoo/common/image_utils/img_preprocesser_tools.py", line 1, in <module>import cv2File "/root/anaconda3/envs/rknn/lib/python3.8/site-packages/cv2/__init__.py", line 181, in <module>bootstrap()File "/root/anaconda3/envs/rknn/lib/python3.8/site-packages/cv2/__init__.py", line 153, in bootstrapnative_module = importlib.import_module("cv2")File "/root/anaconda3/envs/rknn/lib/python3.8/importlib/__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)
    ImportError: libGL.so.1: cannot open shared object file: No such file or directory
    

    解决方案:

    • 安装opencv-python-headless库
    pip install opencv-python-headless
    

    如果安装过后还是没能解决问题,可能是openGL库确实,先给他装上,下面的命令在非root用户下执行,如果是root用户,则去掉前缀sudo

    sudo apt-get update
    sudo apt-get install libgl1-mesa-glx
    
  2. 报错2

    Traceback (most recent call last):File "rknn_convert.py", line 14, in <module>from phase import convert_phase, validate_phaseFile "/17106/Pengcaiping/rknn_model_zoo/common/rknn_converter/phase.py", line 17, in <module>from image_utils.img_preprocesser_tools import Image_preprocessorFile "/17106/Pengcaiping/rknn_model_zoo/common/image_utils/img_preprocesser_tools.py", line 1, in <module>import cv2File "/root/anaconda3/envs/rknn/lib/python3.8/site-packages/cv2/__init__.py", line 181, in <module>bootstrap()File "/root/anaconda3/envs/rknn/lib/python3.8/site-packages/cv2/__init__.py", line 175, in bootstrapif __load_extra_py_code_for_module("cv2", submodule, DEBUG):File "/root/anaconda3/envs/rknn/lib/python3.8/site-packages/cv2/__init__.py", line 28, in __load_extra_py_code_for_modulepy_module = importlib.import_module(module_name)File "/root/anaconda3/envs/rknn/lib/python3.8/importlib/__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "/root/anaconda3/envs/rknn/lib/python3.8/site-packages/cv2/mat_wrapper/__init__.py", line 39, in <module>cv._registerMatType(Mat)
    AttributeError: partially initialized module 'cv2' has no attribute '_registerMatType' (most likely due to a circular import)

    解决方案

    卸载该库

    pip uninstall opencv-python
    

    重新安装该库

    pip install opencv-python
    

    如果还是不行,请再次卸载,重新安装其扩展版本

    pip install opencv-contrib-python
    
  3. 报错3

    Collecting opencv-pythonUsing cached opencv_python-4.9.0.80-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)
    Requirement already satisfied: numpy>=1.17.0 in /root/anaconda3/envs/rknn/lib/python3.8/site-packages (from opencv-python) (1.19.5)
    WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)")': /packages/d9/64/7fdfb9386511cd6805451e012c537073a79a958a58795c4e602e538c388c/opencv_python-4.9.0.80-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
    WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)")': /packages/d9/64/7fdfb9386511cd6805451e012c537073a79a958a58795c4e602e538c388c/opencv_python-4.9.0.80-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
    Downloading opencv_python-4.9.0.80-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (62.2 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.2/62.2 MB 17.8 MB/s eta 0:00:00
    Installing collected packages: opencv-python
    ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    rknn-toolkit 1.7.5 requires opencv-python==4.5.1.48, but you have opencv-python 4.9.0.80 which is incompatible.
    Successfully installed opencv-python-4.9.0.80
    WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
    

    根据上述报错信息,是我们重新安装opencv版本与rknn-toolkit工具包不兼容,此时再次卸载opencv-python包,安装新的包,此时我们指定rknn-toolkit工具包要求的版本。

    pip install opencv-python==4.5.1.48
    

    具体安装哪个版本,以你的控制台报错信息提示为主。

三、祝贺

如果最后执行命令后出现了如下信息行

---> Export RKNN model
Convert Done! outpath: ./model_cvt/RK1808_3399pro/best_RK1808_3399pro_u8.rknn

那么要恭喜,此时模型转换成功。

四、注意事项

  1. 时过境迁,当读者你看到此解决方案时,可能距离作者收笔此文相去已久,若未能解决你的问题,作者深感抱歉。当然,以上大部分问题我想,读者可以举一反三,完成符合技术标准的配置。

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

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

相关文章

c语言学习笔记之字符串库函数和逗号表达式

逗号表达式 #include <stdio.h>int main(){int a 10;int b 5;int c 6;int d (a 23,b a-4,c b2);printf("%d",d); }打印结果为: 逗号表达式,从左往右依次进行,将最后一个表达式的值赋值给变量. c语言字符串相关库函数 求字符串长度strlen长度不受限制的…

Python学习笔记——类型注解基础知识

Python是动态类型语言&#xff0c;使用变量时不需要做任何类型声明&#xff0c;这是Python相比其它语言的一个重要优势&#xff1a;它减少了我们的心智负担&#xff0c;让写代码变得更容易。尤其对于我们很多新手来说&#xff0c;“不用声明类型”无疑会让学Python这件事变得简…

【MySQL】创建用户时报错

目录 前言解决方法 前言 在使用mysql服务时&#xff0c;用root创建用户&#xff0c;出现如下错误 The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 解决方法 在mysql服务中输入指令 flush privileges;重启mysqld服务器…

Qt开源版 vs 商业版 详细比较!!!!

简单整理Qt开源版与商业版有哪些差别&#xff0c;仅供参考。 简单对比 开源版商业版许可证大部分采用对商业使用不友好的LGPLv3具备商业许可证保护代码专有许可证相关大部分模块使用LGPLv3和部分模块使用GPL组成仅第三方开源组件使用Qt的其他许可证Qt模块功能支持支持技术支持…

海外云手机为什么吸引用户?

近年来&#xff0c;随着全球化的飞速发展&#xff0c;海外云手机逐渐成为各行各业关注的焦点。那么&#xff0c;究竟是什么让海外云手机如此吸引用户呢&#xff1f;本文将深入探讨海外云手机的三大吸引力&#xff0c;揭示海外云手机的优势所在。 1. 高效的社交媒体运营 海外云…

c#窗体捕捉方向键

方法1 实现方法参考代码&#xff1a; private void Form1_Load(object sender, EventArgs e){this.KeyPreview true;}protected override bool ProcessDialogKey(Keys keyData){if (keyData Keys.Left || keyData Keys.Right || keyData Keys.Up || keyData Keys.Down){s…

Kubernetes-资源限制

一、Pod资源限制 Kubernetes 对资源的限制实际上是通过 CGROUP 来控制的&#xff0c;CGROUP 是容器的一组用来控制内核如果运行进程的相关属性集合。针对内存、CPU、和各种设备都有对应的 CGROUP。 默认情况下&#xff0c;Pod 运行没有 CPU 和内存的限额。这意味着系统中任何 P…

工程经验分享 Incremental FastPitch

分享 NVIDIA 基于 GPU 的 TTS 解决方案介绍。 1. 基于 FastPitchHifi-GAN 的 Streaming TTS 效果优化 NVIDIA 在 TTS 领域也做了一些供大家参考的工作&#xff0c;例如提供了高效的流式 TTS 部署方案&#xff0c;利用 TensorRT 加速模型推理速度&#xff0c;并通过 Triton Inf…

Servlet基础之API

文章目录 Servlet API1. 概述2. 相关对象概述3. Servlet 接口4. GenericServlet 抽象类5. HTTPServlet 类6. ServletRequest 和 HTTPServletRequest7. HttpServletRequest8. ServletResponse 和 HTTPServletResponse9. ServletConfig 和 ServletContext10. 部署描述符 Servlet …

【软考- 系统集成项目管理工程师2】

第一章-信息化知识-信息与信息化 今日座右铭&#xff1a;最好的偷懒方式&#xff0c;就是一次做好。 文章目录 第一章-信息化知识-信息与信息化前言一、信息1、信息的基本概念2、信息的传输模型3、信息的质量属性 二、信息系统1、系统的基本概念2、信息系统的生命周期 三、信息…

js-cookie的使用方法

js-cookie是一个简单的&#xff0c;轻量级的处理cookies的API。 js-cookie网站 一、安装 npm install js-cookie 二、引入js-cookie 在需要使用的页面直接引用即可。 import Cookies from "js-cookie"; 三、使用示例 以利用js-cookie实现token持久化为例&#…

Android-System 常用adb 命令

1、adb导出logcat&#xff1a;adb logcat > D:/log.txt 2、adb导出anr文件&#xff1a;adb pull /data/anr/trances.txt 3、adb连接安卓设备&#xff1a;adb connect 192.168.129.11:5555 4、选择安卓设备&#xff1a;adb -s 192.168.11.55 5、查看日志状态:getprop | grep …

IP类接口大全,含免费次数

IP查询 IP归属地-IPv4高精版&#xff1a;根据IP地址查询归属地信息&#xff0c;支持到中国地区&#xff08;不含港台地区&#xff09;街道级别&#xff0c;包含国家、省、市、区县、详细地址和运营商等信息。IP归属地-IPv4区县级&#xff1a;根据IP地址查询归属地信息&#xf…

IDEA 安装阿里Java编码规范插件

1.File>Settings 2.安装之后重启 开发过程中如果有不符合规范的地方&#xff0c;会自动出现提示

Ubuntu如何安装使用Nginx反向代理?

在Ubuntu上安装Nginx并配置使其生效是相对简单的过程。以下是一步一步的指南&#xff1a; 步骤 1&#xff1a;安装 Nginx 打开终端&#xff0c;并执行以下命令来安装 Nginx&#xff1a; sudo apt update sudo apt install nginx步骤 2&#xff1a;启动 Nginx 服务 安装完成…

【C语言/数据结构】排序(归并排序|计数排序|排序算法复杂度)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​​​ 目录 归并排序 代码实现&#xf…

pin to pin替代TI DRV8872的GLOBALCHIP直流电机驱动芯片GC8872,低成本、宽电压,内置电荷泵,短地短电源保护,限流

在现如今电机驱动芯片处于持续涨价的状态下&#xff0c;并且供货期货期长&#xff0c;偶尔缺货的状态下。为了降低设计成本&#xff0c;第一时间设计出优秀的产品占据市场高位。我这边推荐使用浙江GLOBALCHIP国产电机驱动芯片进行替换设计。供货稳定、价格低廉。GC8872是GLOBAL…

Android Glide从网络加载图片 点击可放大查看效果

前言 通过url来获取bitmap 然后通过glide工具来加载bitmap 来实现图片点击放大 废话不多说&#xff0c;直接上代码 代码 String netPhoto "xxx";//从网络加载缓存try {Glide.with(TakePhotoSurveyActivity.this).asBitmap().load(photoDesign).into(new CustomTa…

Flink实战三_TableAPISQL

接上文&#xff1a;Flink实战二_DataStream API 1、Table API和SQL是什么&#xff1f; 接下来理解下Flink的整个客户端API体系&#xff0c;Flink为流式/批量处理应用程序提供了不同级别的抽象&#xff1a; 这四层API是一个依次向上支撑的关系。 Flink API 最底层的抽象就是有…

CSS之webkit内核中的属性text-stroke

让我为大家介绍一下text-stroke 大家是否想过要弄一个描边过的文字&#xff0c;接下来&#xff0c;text-stroke就可以为你解决 text-stroke是一个复合属性&#xff0c;里面有两个参数&#xff1a;描边的尺寸 描边的颜色 <!DOCTYPE html> <html lang"en">…