利用Tensor在jetson orin 上加速YOLOv5

news2024/9/28 3:22:52

一、第一种方法,需要下载各种包:

要用到一个大佬的开源,GitHub地址如下:

https://github.com/wang-xinyu/tensorrtx/tree/master/yolov5
1. 安装pycuda,在线安装pycuda
pip3 install pycuda
2. Windows操作(为了得到加速后的wts)

1.YOLOv5-7.0的原版的开源程序
2. 将大佬开源的项目tensorrtx,下载到自己的windows电脑上
然后,把tensorrtx文件夹整体,复制粘贴到yolov5-7.0原版程序的文件夹中。再把tensorrtx-yolov5-v7.0\yolov5\gen_wts.py复制粘贴到yolov5原版文件夹中。

然后打开终端,激活在anaconda中自己创建的虚拟环境,输入命令:

python gen_wts.py -w yolov5n-seg.pt -o yolov5n-seg.wts

因为我是需要YOLOV5-n模型的实例分割检测,所以生成的是yolov5n-seg.wts

3. Unbtun操作(在Jetson orin上弄)(这一步是生成引擎文件)

将上述生成的.wts文件复制到Jetson orin里的yolov5-7.0\tensorrtx-yolov5-v7.0\yolov5文件夹中。


在上述文件夹中打开终端,依次运行指令:

mkdir build
cd build
cmake ..
make
sudo ../yolov5_seg -s ../yolov5s-seg.wts yolov5s.engine s

因为在初始的里面是s模型,想要改成n模型:

 1. 进入src/config.h,修改一下自己的检测类别和图片大小

kNumClass改成5,kInputH和kInputW改成640*512,kClsInputH = kInputH*depth_scale, kClsInputW = kInputW *width_scale。我是n模型,所以是depth_scale=0.33,width_scale=0.25,

constexpr static int kNumClass = 5;

constexpr static int kInputH = 640;
constexpr static int kInputW = 512;

constexpr static int kClsInputH = 212;
constexpr static int kClsInputW = 128;

2. 打开build/yolov5_seg.cpp,找到主函数进行文件路径修改

  std::string wts_name = "./yolov5n-seg.wts"; //wts文件
  std::string engine_name = "./yolov5n-seg.engine";  // 生成engine
  std::string labels_filename = "classes.txt"; //里面存放标签目录下的txt
  float gd = 0.33, gw = 0.25;  # 改成n模型的宽度深度

  std::string img_dir "/home/nvidia/ssd/Code/yolov5-7.0/yolov5-7.0/dataset/images/val/" ; //测试图片文件夹
  std::string modelcheck=-s”://-s生成engine, -d 推理

在终端命令:

sudo ../yolov5_seg -s ../yolov5n-seg.wts yolov5n.engine s

二、另一种方法:主目录的export.py(最简单)

主目录里有export.py,可以直接调用tensorRT包实现把模型从xx.pt到xx.engine的转换,非常方便,不需要其他操作。并且jetson orin有自带的tensorRT包,只需要和我们的conda环境里的包的安装目录建立软连接即可。

软连接:(从其他文章看的,因为我之前已经下载了pycuda,不用软链接了)

sudo ln -s /usr/lib/python3.6/dist-packages/tensorrt* /home/alen123/archiconda3/envs/yolov5/lib/python3.6/site-packages

查看tensorRT版本:

>>> python
>>> import tensorrt
>>> tensorrt.__version__

完成上面工作之后,tensorRT已经作为一个包可以直接调用了,然后直接在终端执行以下代码:

python export.py --weights yolov5n-seg.pt --include engine --
device 0 

想要在开发板上跑时有更快的速度可以加--half,降低精度的,同时可以显著提高速度:

python export.py --weights yolov5n-seg.pt --include engine --half --device 0

遇到下面的问题:

ONNX: export failure ❌ 0.0s: /usr/lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/nvidia/ssd/anaconda3/lib/libprotobuf.so.31)

TensorRT: starting export with TensorRT 8.2.1.8...
TensorRT: export failure ❌ 0.1s: failed to export ONNX file: yolov5n-seg.onnx

是因为使用的是Jeston Orin

改成:

python3 export.py --weights yolov5n-seg.pt --include onnx --data my.yaml --half --device 0 --batch-size 4
trtexec --onnx=yolov5n-seg.onnx --fp16 --saveEngine=yolov5n-seg_static.engine --useCudaGraph

使用的时候就把weight改成yolov5n-seg_static.engine就可以啦

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

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

相关文章

Ubuntu Desktop 更改默认应用程序 (Videos -> SMPlayer)

Ubuntu Desktop 更改默认应用程序 [Videos -> SMPlayer] References System Settings -> Details -> Default Applications 概况、默认应用程序、可移动介质、法律声明 默认应用程序,窗口右侧列出了网络、邮件、日历、音乐、视频、照片操作的默认应用程序…

2024全行业数字化转型企业建设解决方案PPT合集(附下载)

精品推荐,2024全行业数字化转型企业建设解决方案PPT合集,精品PPT源格式共21份。 点击直达星球下载地址(文末领取优惠券):2024全行业数字化转型企业建设解决方案PPT合集 1.制造业数字化转型解决方案及应用.pptx 2.医院…

Java代码基础算法练习-求一个三位数的各位数字之和-2024.03.27

任务描述&#xff1a; 输入一个正整数n&#xff08;取值范围&#xff1a;100<n<1000&#xff09;&#xff0c;然后输出每位数字之和 任务要求&#xff1a; 代码示例&#xff1a; package M0317_0331;import java.util.Scanner;public class m240327 {public static voi…

langchin-chatchat部分开发笔记(持续更新)

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 大模型应用向开发路径及一点个人思考大模型应用开发实用开源项目汇总大模型问答项目…

Matlab进阶绘图第47期—气泡分组蝴蝶图

气泡分组蝴蝶图是分组蝴蝶图与气泡图的组合——在分组蝴蝶图每组柱子上方添加大小不同的气泡&#xff0c;用于表示另外一个数据变量&#xff08;如每组柱子值的和&#xff09;的大小。 本文利用自己制作的BubbleButterfly工具&#xff0c;进行气泡分组蝴蝶图的绘制&#xff0c…

从接口发现到文件上传getshell

0x01 信息收集 通过fofa&#xff0c;子域名收集等相关工具搜索域名 定位到站点&#xff1a;htps://xx..edu.cn/x/xx/ 0x02 寻找接口 通过f12寻找相关的js&#xff0c;发现有其他的页面 0x03 拼接路径 https://xx.xx.edu.cn/xx/xx/repairResgister 之后未授权获取到注册用户的页…

【群晖】解决docker容器启动出现 database is locked 错误

【群晖】解决docker容器启动出现 database is locked 错误 问题描述 升级DSM 7.2 V3版本后docker中的大量容器出现虽然显示启动状态&#xff0c;但是webStation中服务是禁用中。 因此选择手动重启容器&#xff0c;但是发现容器无法启动&#xff0c;提示了以下错误&#xff1…

盏多多生物现已加入2024第七届燕窝天然滋补品展

参展企业介绍 广东省盏多多生物科技有限公司是一家从事食品销售,食品销售,食品进出口等业务的公司&#xff0c;成立于2018年12月07日&#xff0c;公司坐落在广东省&#xff0c;详细地址为&#xff1a;惠州市东江三路45号悦榕湾27层05号&#xff08;仅限办公&#xff09;;经国家…

课堂练习:环境体验——Linux 文件操作命令

任务描述 第二个任务就是了解Linxu的文件查看命令&#xff0c;文件编辑基本命令。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 1.文件查看命令。 2.文件编辑基本命令。 文件查看命令 我们要查看一些文本文件的内容时&#xff0c;要使用文本编辑器来查看…

解决NRF52832正常添加OTA代码后无法进入app一直运行在bootloader的问题!

问题现象描述&#xff1a; SDK版本17.1.0 在 mergehex工具 合并以下文件setting.hex bootloader.hex app.hex sortdevice.hex 之后烧录固件第一次运行 程序一直运行在bootloader&#xff0c;蓝牙名称显示 DFUTARG &#xff0c;必须要进行一次OTA才进入APP 注意&#xff1a;如…

补单系统平台第三方接口,电商平台数据市场接口api提供

补单系统平台第三方接口&#xff0c;电商平台数据市场接口api提供 部分数据参数

电缆故障测试仪的原理和组成部件分别是什么?

电缆故障测试仪是专为检测电缆线路中的各种故障而设计制造的精密电子设备&#xff0c;广泛应用于电力、通信、石油化工、航空航天等领域。这类仪器的工作原理和组成相对复杂&#xff0c;下面将详细阐述。 电缆故障测试仪的工作原理 电缆故障测试仪的核心原理通常涉及电磁波反…

STM32最小核心板使用HAL库ADC读取MCU温度(使用DMA通道)

STM32自带CPU的温度数据&#xff0c;需要使用ADC去读取。因此在MX创建项目时如图配置&#xff1a; 模块初始化代码如下&#xff1a; void MX_ADC1_Init(void) {/* USER CODE BEGIN ADC1_Init 0 *//* USER CODE END ADC1_Init 0 */ADC_ChannelConfTypeDef sConfig {0};/* USER…

验证码demo(简单实现)

前言 我们注意到我们登录网站的时候经常会用到网络验证码,今天我们就简单实现一个验证码的前后端交互问题,做一个小demo 准备 我们这里并不需要依靠原生的java来实现,而是只需要引入一个maven依赖,使用现成的封装好的即可,这是我使用的是hutool工具包 网址:Hutool&#x1f36c;…

Linux系统-----------MySQL 数据类型

目录 MySQL 数据类型 一、数值类型 二、日期和时间类型 三、字符串类型 &#xff08;1&#xff09;CHAR类型 &#xff08;2&#xff09;VARCHAR类型 &#xff08;3&#xff09;CHAR和VARACHAR的比较及其应用场景 MySQL 数据类型 MySQL 中定义数据字段的类型对你数据库的…

Nginx超详细讲解+实操

前言 nginx作为当今火爆的、高性能的http及反向代理服务&#xff0c;不管前端还是后端&#xff0c;都需要全面去了解&#xff0c;学习&#xff0c;实操。 nginx 介绍 为了有一个全面的认知&#xff0c;接下来我们先来看看nginx的架构以及一些特点。 nginx 特点 处理响应请…

YOLOv5 | 鬼魅(幽灵)卷积 | 改进Ghost卷积轻量化网络

目录 原理简介 代码实现 yaml文件实现 检查是否添加执行成功 完整代码分享 论文创新必备 启动命令 由于内存和计算资源有限&#xff0c;在嵌入式设备上部署卷积神经网络 (CNN) 很困难。特征图中的冗余是那些成功的 CNN 的一个重要特征&#xff0c;但在神经架构设计中很…

盏燕生物科技将出席2024第七届燕窝天然滋补品博览会

参展企业介绍 深圳市盏燕生物科技有限公司&#xff0c;办公室地址位于中国第一个经济特区&#xff0c;鹏城深圳&#xff0c;深圳市龙岗区平湖街道禾花社区富安大道18号亚钢工贸大楼1栋1017A&#xff0c;我公司主要提供一般经营项目是&#xff1a;初级农产品、海产品、化妆品、…

官网怎么发布新文章,怎么在官方网站上发布新内容

随着企业和组织越来越重视官方网站的建设和更新&#xff0c;发布新内容成为了官方网站管理的重要一环。本文将探讨在官方网站上发布新内容的步骤和方法&#xff0c;以及如何确保发布的内容质量和效果。 1. 确定发布内容 在发布新内容之前&#xff0c;首先需要确定发布的内容。…

lazada获得lazada商品详情 API 返回值说明,item_get-获得lazada商品详情

lazada.item_get 请求示例&#xff0c;API接口接入&#xff1a;Anzexi58 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_…