rk3588 部署yolov8.rknn

news2024/11/14 15:40:58

本文从步骤来记录在rk3588芯片上部署yolov8模型

主机:windows10  VMware® Workstation 16 Pro

硬件:RK3588 EVB板

模型: RK3588.rknn

软件开发环境: c++  cmake

step1:

主机上执行:

将rknn_model_zoo 工程文件下载, 之前在采用yolov5部署在rk3588上时采用的是rockchip官方rknpu2工程,注意:此工程(rknn_model_zoo)可以部署yolov5~yolov8,yolovx

git clone https://github.com/airockchip/rknn_model_zoo.git

step2:

主机上执行

直接下载yolov8s.pt模型

wget https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8s.pt

step3:

主机上执行

下载rockchip版本的yolov8->ultralytics_yolov8

git clone https://github.com/airockchip/ultralytics_yolov8.git
cd /home/rock/src/ultralytics_yolov8-main/  
export  PYTHONPATH=./
python3   ultralytics/engine/exporter.py

 此时会在路径下生成yolov8s.onnx模型

我的路径为: /home/rock/src/ultralytics_yolov8-main

step4:

在主机上执行

cd /home/rock/src/rknn_model_zoo-main/examples/yolov8/python
python3  convert.py ../model/yolov8s.onnx  rk3588

 将会得到一个yolov8s.rknn模型

此时,将rknn模型下发到开发板中

step5:

在开发板端 下载rknn_model_zoo 工程,执行以下命令即可, 其中的路径改为自己当前的路径

git clone https://github.com/airockchip/rknn_model_zoo.git
cd  /home/rockchip/src/rknn_model_zoo/install/rk3588_linux_aarch64/rknn_yolov8_demo
sudo ./rknn_yolov8_demo  ~/yolov8.rknn  model/bus.jpg

运行效果图如下:

疑问: 为啥同样的硬件平台, yolov8耗时50+ms ,yolov5耗时才20+ms

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

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

相关文章

spring:标签property

标签property对应于bean类公开的JavaBean setter方法。标签property的属性中,name为属性名,type为“”引号里面的类型,use为是否必须出现。 1.ref引用一个已经存在的对象,value创建一个新的对象 2.value可以赋一些简单类型的值,…

【MySQL】常用数据类型

目录 数据类型 数据类型分类 数值类型 tinyint类型 bit类型 小数类型 float decimal 字符串类型 char varchar 日期和时间类型 enum和set 数据类型 数据类型分类 数值类型 tinyint类型 tinyint类型只占用一个字节类似于编程语言中的字符char。有带符号和无符号两…

【系统架构设计师】二十四、安全架构设计理论与实践②

目录 三、系统安全体系架构规划框架 3.1 信息系统安全体系规划 3.2 信息系统安全规划框架 3.2.1 信息系统安全规划依托企业信息化战略规划 3.2.2 信息系统安全规划需要围绕技术安全、管理安全、组织安全考虑 3.2.3 信息系统安全规划以信息系统与信息资源的安全保护为核心…

Java——多线程(6/9):线程池、处理Runnable、Callable任务(认识线程池-线程池的工作原理,ThreadPoolExecutor构造器)

目录 认识线程池 介绍 线程池的工作原理 如何创建线程池 介绍 ThreadPoolExecutor构造器 代码实例 线程池的注意事项 线程池处理Runnable任务 ExecutorService的常用方法 代码实例 新任务拒绝策略 线程池处理Callable任务 ExecutorService的常用方法 代码实例…

二叉树的前序遍历 - 力扣(LeetCode)C语言

144. 二叉树的前序遍历 - 力扣(LeetCode)(点击前面链接即可查看题目) 一、题目 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: …

Datawhale AI 夏令营——AI+逻辑推理——Task4

# Datawhale AI 夏令营 夏令营手册:从零入门 AI 逻辑推理 比赛:第二届世界科学智能大赛逻辑推理赛道:复杂推理能力评估 代码运行平台:魔搭社区 赛题任务 本次任务主要采用大语言模型解决推理任务,如何使用大语言模…

Python3 第六十一课 -- 实例三十

目录 一. 堆排序 二. 计数排序 一. 堆排序 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于&#xff…

Yolov8在RK3588上进行自定义目标检测(二)

best.pt转best.onnx Yolov8在RK3588上进行自定义目标检测(一)已经进行了配置文件修改。接下来可以直接进行模型的转换。 下面是两种转换方法: 1.命令行 yolo export modelbest.pt formatrknn 2.转换脚本 convert_to_onnx.py from ultralytics import YOLOmode…

数据求均值背后的原理 - 最小二乘法

1. 背景 对采集数据求均值是一种常见简单有效的数据处理手段,比如用直尺去测量物体的长度一般情况会多次测量然后计算平均值然后将平均值作为物体的长度,又如我们需要测量某电源的电压也会采取类似的方法,可以说对数据求均值在我们工作生活中…

【时时三省】unity test 测试框架 介绍(适用于C语言进行测试的)

1,关于 unity test 测试框架的介绍 unity test 是 ThrowTheSwitch.org 的一个主要工程。它是专注于为嵌入式工具链而生的C语言单元测试框架。它可以适用于大工程或者小工程都可以。它的核心文件是一个.c文件和两个头文件。 备注: 下载源码地址&#xff…

btslab靶场-通过xss获取他人cookie并利用

目录 安装 通过xss获取cookie cookie利用 安装 下载btslab靶场链接:https://pan.baidu.com/s/1I9ZgzlZEWdobINGQUhy7Jw?pwd8888 提取码:8888 用phpEnv或者phpStudy部署好靶场环境(这里就省略了) 通过xss获取cookie 先访问…

Apache和nginx!!!!

⼀、Apache 概念 1、概述 最早的 web 服务程序,基于 http 协议提供⽹⻚浏览服务。 2、特点 模块化设置、开放源代码、跨平台应⽤、⽀持多种 web 编程语 ⾔、运⾏稳定。 3、⼯作模式 (1)Prefork:使⽤进程处理请求&#xff0…

操作系统|day2.进程、线程、协程

文章目录 进程概念特点并行和并发进程之间的通信进程的状态进程的调度基本准则调度方式具体算法 特殊进程 线程概念线程状态转换线程状态线程调度线程同步多线程通信 线程池种类工作流程五种状态拒绝策略参数队列大小 协程概念优势 进程 概念 进程就是正在运行的程序,它会占用…

进阶SpringBoot之 yaml 语法

SpringBoot 使用一个全局的配置文件,名字固定 application.properties 语法结构:keyvalue application.yml 语法结构:key:(空格)value 配置文件的作用是可以修改 SpringBoot 自动配置的默认值 在 res…

【NOI-题解】1022. 百钱百鸡问题1024. 购买文具1249. 搬砖问题1250. 马克思手稿的问题1342. 怎样种树?

文章目录 一、前言二、问题问题:1022. 百钱百鸡问题问题:1024. 购买文具问题:1249. 搬砖问题问题:1250. 马克思手稿的问题问题:1342. 怎样种树? 三、感谢 一、前言 欢迎关注本专栏《C从零基础到信奥赛入门…

无心剑小诗《郑钦文,为您骄傲》

郑钦文,为您骄傲 在赛场上如猎豹出击 每一拍都交织着力量与智慧 郑钦文,您是无畏的勇士 曾经的挫折是砥砺的砂石 今日的辉煌,是拼搏的勋章 今晚,红土上您书写传奇 战胜强敌,您气势如虹 汗水与激情洒满整个赛场 梦想…

49 序列解包的多种形式和用法

序列解包(Sequence Unpacking)是 Python 中非常重要和常用的一个功能,可以使用非常简洁的形式完成复杂的功能,提高了代码的可读性,减少了程序员的代码输入量。 x, y, z 1, 2, 3 # 多个变量同时赋值 v_tuple (False…

openpnp - loc_*.png是没用的临时文件

文章目录 openpnp - loc_*.png是没用的临时文件概述笔记END openpnp - loc_*.png是没用的临时文件 概述 前一段时间将X轴的固定螺母动了,让X轴运动更顺滑些。 不得已,对openpnp设备重新进行了标定。 到底部相机高级矫正完成后,正常退出&…

Datawhale AI 夏令营——AI+逻辑推理——Task3

# Datawhale AI 夏令营 夏令营手册:从零入门 AI 逻辑推理 比赛:第二届世界科学智能大赛逻辑推理赛道:复杂推理能力评估 代码运行平台:魔搭社区 大模型微调 LoRA LoRA(Low-Rank Adaptation)微调是一种…

Linux查看进程和进程号的几种方式

根据进程名查看进程号 1、pidof命令: 2、pgrep命令: 3、ps命令 根据进程号查看进程名: ps命令: