避坑指南!RK3588香橙派yolov5生成RKNN模型!

2024-05-12 18:28

本文主要是介绍避坑指南!RK3588香橙派yolov5生成RKNN模型!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

地址1,转换模型

地址2,转换模型

地址3,解决ppa

下载k2

本文目录

  • 一、将.pt模型转为onnx模型文件。(Windows)
  • 二、将.onnx模型转为.rknn模型文件。(Linux)
  • 三、将.rknn模型部署到开发板RK3588中。(ARM)

  

一、将.pt模型转为onnx模型文件。(Windows)

前提:下载源码。源码下载地址~

  1. models/yolo.py中的Detect类下的forward函数改为下面内容:
def forward(self, x):z = []  # inference outputfor i in range(self.nl):x[i] = self.m[i](x[i])  # convreturn x
  1. 修改export.py文件
    原内容:
    在这里插入图片描述
    修改为:shape = tuple(y[0].shape) # model output shape
    在这里插入图片描述

  2. 将训练好的模型文件best.pt文件放入export.py文件的同级目录下。
    使用命令:python export.py --weights best.pt --img 640 --batch 1 --include onnx。将.pt模型转为.onnx模型。

二、将.onnx模型转为.rknn模型文件。(Linux)

  1. 为了减少不必要的麻烦,请下载Ubuntu新版本,如22.04版本。Ubuntu下载地址!
    在这里插入图片描述
  2. 安装miniconda:
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.9.2-Linux-aarch64.sh
bash Miniconda3-py38_4.9.2-Linux-aarch64.sh

这里创建环境就不多赘述,详情查看创建环境教程地址。这里我们创建python=3.9的环境。

3.下载转换文件。 下载文件地址。
   在windows上下载好转换文件,然后移到Ubuntu系统上。然后使用命令: cd rknn-toolkit2-master/rknn-toolkit2/packages,进入packages文件夹中,安装以下文件。(因为我们安装的环境是python3.9)

**加粗样式**

使用命令:

pip install rknn_toolkit2-1.6.0+81f21f4d-cp39-cp39-linux_x86_64.whl -i https://pypi.doubanio.com/simple/
pip install -r requirements_cp39-1.6.0.txt -i https://pypi.doubanio.com/simple/

   安装完成后,使用命令:python,然后使用命令from rknn.api import RKNN,若没有报错,则说明安装成功。

   坑1:使用源时一定要使用:-i https://pypi.doubanio.com/simple/,因为其他很多源里没有一些安装的依赖文件,所以会出错,这里我也浪费了很多时间,所以一定要使用本文中的命令。避免出现一些错误。
   坑2:有时在安装时会出现错误并暂停,有时是因为下载速度的原因导致的错误,这时多执行几次安装命令即可。

  1. 将.onnx模型存放在ylov5文件夹中。
    使用命令: cd rknn-toolkit2-master/rknn-toolkit2/examples/onnx/yolov5移到到该文件夹下,将windows下生成的.onnx放到该目录下。如下所示。
    在这里插入图片描述
  2. 修改test.py文件。

在这里插入图片描述
自定义类别中,要与训练模型时的类别一致。
在这里插入图片描述

在这里插入图片描述

  1. 生成.rknn模型
    运行test.py,使用命令:python test.py。运行完成后,文件目录下生成了.rknn模型。
    在这里插入图片描述

三、将.rknn模型部署到开发板RK3588中。(ARM)

这篇关于避坑指南!RK3588香橙派yolov5生成RKNN模型!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983394

相关文章

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee