yolov8n 瑞芯微RKNN和地平线Horizon芯片仿真测试部署,部署工程难度小、模型推理速度快

  特别说明:参考官方开源的yolov8代码、瑞芯微官方文档、地平线的官方文档,如有侵权告知删,谢谢。

  模型和完整仿真测试代码,放在github上参考链接 模型和代码。

  因为之前写了几篇yolov8模型部署的博文,存在两个问题:部署难度大、模型推理速度慢。该篇解决了这两个问题,且是全网部署难度最小、模型运行速度最快的部署方式。相对之前写的一篇【yolov8 瑞芯微RKNN和地平线Horizon芯片仿真测试部署】将DFL写在后处理中模型加速了,针对后处理进行优化后时耗略微增加。

1 模型和训练

  训练代码参考官方开源的yolov8训练代码。

2 导出 yolov8 onnx

   导出onnx增加以下几行代码:
在这里插入图片描述

        # 导出 onnx 增加y = []for i in range(self.nl):t1 = self.cv2[i](x[i])t2 = self.cv3[i](x[i])y.append(t1)y.append(t2)return y

  增加保存onnx模型代码
在这里插入图片描述

        print("===========  onnx =========== ")import torchdummy_input = torch.randn(1, 3, 640, 640)input_names = ["data"]output_names = ["reg1", "cls1", "reg2", "cls2", "reg3", "cls3"]torch.onnx.export(self.model, dummy_input, "./weights/yolov8_relu_80class_ZQ1.onnx", verbose=False, input_names=input_names, output_names=output_names, opset_version=11)print("======================== convert onnx Finished! .... ")

  修改完以上两个地方,运行推理脚本(运行会报错,但不影响onnx文件的生成)。

from ultralytics import YOLO
# 推理
model = YOLO('./weights/yolov8n_relu_ZQ_80class.pt')
results = model(task='detect', mode='predict', source='./images/test.jpg', line_width=3, show=True, save=True, device='cpu')

3 yolov8 onnx 测试效果

  onnx模型和测试完整代码,放在github上代码。
在这里插入图片描述

4 tensorRT 优化前后时耗

  上一篇【yolov8 瑞芯微RKNN和地平线Horizon芯片仿真测试部署】tensorRT部署推理10000次的平均时耗(显卡 Tesla V100、cuda_11.0)
在这里插入图片描述
本篇tensorRT部署推理10000次的平均时耗(显卡 Tesla V100、cuda_11.0)
在这里插入图片描述

5 rknn 板端C++部署

  C++完整部署代码和模型示例参考

  把板端C++代码的模型和时耗也给贴出来供大家参考,使用芯片rk3588。相对之前在rk3588上推理40ms,降到了17ms,后处理稍微有增加。

  上一篇【yolov8 瑞芯微RKNN和地平线Horizon芯片仿真测试部署】部署到rknn3588上的C++时耗
在这里插入图片描述
  本篇部署方法时耗
在这里插入图片描述

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

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

相关文章

全网首发!Yolov8_obb旋转框检测(DOTA1.0数据集)

一、YOLOv8环境搭建 (1)Pytorch的安装 如果你的环境没有部署请参考本人文章:NLP笔记(2)——PyTorch的详细安装_安装torchnlp-CSDN博客 (2)下载最新的Yolov8-obb代码: https://git…

909. 蛇梯棋(图的BFS)

使用广度优先搜索来遍历从1到n*n的可能的路径。 这道题可以看作一个有向图,每个值为x的节点指向x1点节点,在蛇桥处,是从x指向y 注意这里的x、x1、y都是值,可以根据值计算出对应的行列值,计算规则: 假设值…

Redis相关知识点

1.什么是Redis Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库 特征: 1.数据间没有必然的关联关系 2.内部采用单线程机制进行工作 3.高性能,官方提供测试数据,50个…

【修图】AI修图工具

人脸替换 免费的人脸替换工具: Face Swap: https://vmodel.ai/face-swap 支持单人换脸、多人换脸 AI消除 SnapEdit https://snapedit.app/remove-object 不付费的话只能下载清晰度较低的版本 但我试了几个在线的AI消除工具,SnapEdit算是…

回溯算法part06 算法

回溯算法part06 算法 今日任务&#xff1a; ● 51. N皇后 ● 37. 解数独 1.leetcode 51. N皇后 https://leetcode.cn/problems/n-queens/description/ class Solution {//存储结果List<List<String>> resultnew ArrayList<>();public List<List<St…

详细分析Java中的@JsonFormat注解和@DateTimeFormat注解

目录 前言1. JsonFormat注解2. DateTimeFormat注解3. Demo3.1 无注解3.2 有注解 4. 拓展 前言 下文中涉及MybatisPlus的逻辑删除的知识&#xff0c;可看我之前这篇文章&#xff1a;详细讲解MybatisPlus实现逻辑删除 对应的Navicat设置数据库最新时间可看我这篇文章&#xff1…

MySQL、Oracle、PostgreSQL 数据库备份用的 Shell 脚本

文章目录 一、概要二、MySQL 数据库备份与还原异地备份脚本2.1 MySQL 数据库异地备份脚本2.2 MySQL 数据库的恢复 三、Oracle 数据库备份与还原脚本3.1 Oracle 数据库异地备份脚本3.2 Oracle 数据库的恢复 四、PostgreSQL 数据库异地备份与还原脚本4.1 PostgreSQL 数据库备份脚…

生活自来水厂污水处理设备需要哪些

生活自来水厂是确保我们日常用水质量安全的重要设施。在自来水的生产过程中&#xff0c;污水处理设备是不可或缺的环节。那么&#xff0c;生活自来水厂的污水处理设备都有哪些呢&#xff1f;本文将为您详细介绍。 首先&#xff0c;生活自来水厂的污水处理设备主要包括预处理设备…

第11章 GUI Page489~494 步骤三十 保存画板文件

为“保存”菜单项 MenuItemFileSave挂接事件响应函数&#xff1a; 实际运行时&#xff0c;现版TrySaveFile()函数有点儿傻&#xff0c;点击保存菜单&#xff0c;还会弹出对话框&#xff0c;问我们“要不要保存” 修改TrySaveFile()函数 函数声明修改为&#xff1a; 函数实现修…

药品不良反应智能监测系统,java药品不良反应(ADR)智能监测系统源码,基于SpringBoot+Vue+MySQL技术开发

java药品不良反应智能监测系统 系统概述&#xff1a; 基于AI技术和深度学习模型&#xff0c;系统构建ADR智能识别模型&#xff0c;实现病程记录分析&#xff0c;提取病程记录实体&#xff0c;并完成语义关系的分类识别。一方面可以根据医务人员设置的监测任务或主题&#xff0c…

Open CV 图像处理基础:(六)在Java中使用 Open CV进行图片翻转和图片旋转

在Java中使用 Open CV进行图片翻转和图片旋转 目录 在Java中使用 Open CV进行图片翻转和图片旋转前言图片翻转函数代码示例其它翻转方向垂直翻转两轴翻转 图片旋转函数代码示例 Open CV 专栏导航 前言 在Java中使用OpenCV进行图片翻转和旋转是一种基本的图像处理技术&#xff0…

管理篇 - 24到28

学习目标&#xff1a; 为了更轻松的工作 学习内容&#xff1a; 新手管理最常犯的错&#xff1a;太把自己当回事儿&#xff01;当管理比自己干活还累&#xff1f;升职加薪后他真香了&#xff01;管理误区&#xff1a;要不要和下属做朋友&#xff1f;很多人都只理解了第一层&…

MySQL面试题 | 02.精选MySQL面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

vim基本操作命令

一、vi简介 vi是“Visual interface”的简称&#xff0c;它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作&#xff0c;而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序&#xff0c;它不象Word或WPS那样可以…

商城小程序(8.购物车页面)

目录 一、商品列表区域1、渲染购物车商品列表的标题区域2、渲染商品列表区域的基本结构3、为my-goods组件封装radio勾选状态4、为my-goods组件封装radio-change事件5、修改购物车中商品的选择状态6、为my-goods组件封装NumberBox7、为my-goods封装num-change事件8、修改购物车商…

解决opencv出错:ImportError: numpy.core.multiarray failed to import

利用安装好opencv后&#xff0c;导入cv2的时候报错&#xff0c;如下 from .cv2 import * ImportError: numpy.core.multiarray failed to import这里是numpy库的版本过低或者过高&#xff0c;不合适刚刚装的opencv版本。 尝试升高或降低numpy版本&#xff0c;一般是升级到高版…

11.1、信赖域策略优化算法TRPO强化学习-从理论到实践

基于LunarLander登陆器的TRPO强化学习&#xff08;含PYTHON工程&#xff09; TRPO强化学习算法主要分为3个部分&#xff0c;分别介绍其理论、细节、实现 本文主要介绍TRPO的特点、思路、和优化式子的推导 TRPO系列&#xff08;TRPO是真的复杂&#xff0c;全部理解花费了我半…

【论文笔记】End-to-End Diffusion Latent Optimization Improves Classifier Guidance

Abstract Classifier guidance为图像生成带来了控制&#xff0c;但是需要训练新的噪声感知模型(noise-aware models)来获得准确的梯度&#xff0c;或使用最终生成的一步去噪近似&#xff0c;这会导致梯度错位(misaligned gradients)和次优控制(sub-optimal control)。 梯度错位…

算法训练营Day37

#Java #动态规划 Feeling and experiences&#xff1a; 目标和&#xff1a;力扣题目链接 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c…

facebook广告素材制作要注意哪些

在制作Facebook广告素材时&#xff0c;需要注意以下几点&#xff1a; 目标受众&#xff1a;了解目标受众的喜好、需求和兴趣&#xff0c;以便制作能够吸引他们的广告素材。广告格式&#xff1a;选择适合广告内容的格式&#xff0c;如图片、视频、幻灯片等。同时&#xff0c;要…