使用trtexec工具多batch推理tensorrt模型(trt模型)

news2024/11/17 21:30:31

文章目录

  • 零、pt转onnx模型
  • 一、onnx转trt模型
  • 二、推理trt模型

零、pt转onnx模型

参考:https://github.com/ultralytics/yolov5
用根目录下的export.py可以转pt为onnx模型,命令如下可以转换成动态batch的onnx模型

python3 export.py --weights=./yolov5s.pt --dynamic

工具来源,接上一篇安装TensorRT:
/XXX/TensorRT-XXX/bin
安装连接:https://developer.nvidia.com/nvidia-tensorrt-8x-download (有限GA版,稳定版)

注意:这里版本推荐TensorRT-8.4.2.4,这里很坑,往上可能可以,往下就不一定了!!

一、onnx转trt模型

这里直接取动态batch的onnx模型:https://gitee.com/monkeycc/yolov5/releases/tag/v6.0
在这里插入图片描述

在这里插入图片描述

./trtexec --onnx=/home/xiao/thomascai/data/model/yolov5s_batch.onnx --saveEngine=/home/xiao/thomascai/data/model/bakup/yolov5s_bs_4.trt --workspace=6000 --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:32x3x640x640

注意:

  • minShapes:表示最小的shape;
  • optShapes:表示最优的shape;
  • maxShapes:表示支持最大的shape
    其中的XXXShapes中images表示输入的name,参照上图。https://netron.app/

二、推理trt模型

./trtexec --loadEngine=/home/xiao/thomascai/data/model/bakup/yolov5s_bs_4.trt --batch=4 --warmUp=200 --iterations=2000

得到:
在这里插入图片描述

注意:这里千万注意版本,笔者踩了很大的坑,这里用TensorRT-8.4.2.4是OK的,千万注意!!

参考:

  1. https://blog.csdn.net/m0_72734364/article/details/128758544?app_version=5.12.1&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128758544%22%2C%22source%22%3A%22m0_72734364%22%7D&utm_source=app
  2. https://developer.nvidia.com/zh-cn/blog/tensorrt-trtexec-cn/
  3. https://blog.51cto.com/u_15357586/3783947

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

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

相关文章

一款强大易用的截图控件:跨平台,界面简洁,功能丰富,易于集成

当我们在日常工作中沟通交流,或是在开发过程中跟踪反馈问题时,截图无疑是一种最直观有效的方式。然而,传统的截图工具在功能上的局限性,往往无法满足我们日益增长的需求。这时,一款功能强大,易于集成&#…

垃圾收集算法和CMS详解

一、垃圾收集算法 1、分带收集理论 基于新生代和老年代选择不同垃圾回收算法,比如新生代,都是一些暂存对象,而且内存分区域的,可以采用标记复制算法。而老年代只有一块内存区域,使用复制算法比较占用内存空间&#x…

DEVICENET转ETHERCAT网关连接ethercat通讯协议详细解析

你有没有遇到过生产管理系统中,设备之间的通讯问题?两个不同协议的设备进行通讯,是不是很麻烦?今天,我们为大家介绍一款神奇的产品,能够将不同协议的设备进行连接,让现场的数据交换不再困扰&…

MySQL数据库 - 库的操作

目录​​​​​​​ 一、创建数据库 二、创建数据库案例 三、字符集和校验规则 四、校验规则对数据库的影响 五、操纵数据库 1、查看数据库 2、显示创建语句 3、修改数据库 4、删除数据库 六、数据库的备份与恢复 1、数据库的备份 2、数据库的恢复 3、表的备份 4…

【网络系统集成】Pfsense防火墙实验

1.实验名称 Pfsense防火墙实验 2.实验目的 通过动手实践配置pfsense对加深对防火墙的原理与应用的理解。 3.实验内容 (1)安装并完成pfsense防火墙软件的基本配置(WAN, LAN,局域网

刘积仁:东软不太喜欢风口,更看重长期主义

作为数字和软件服务产业一年一度的行业盛宴,2003年,中国国际软件和信息服务交易会(简称“软交会”)正式诞生。2019年,大会更名为中国国际数字和软件服务交易会(简称“数交会”),至今…

【C++修炼之路】string 概述

👑作者主页:安 度 因 🏠学习社区:StackFrame 📖专栏链接:C修炼之路 文章目录 一、string 为何使用模板二、string 类认识1、构造/析构/赋值运算符重载2、容量操作3、增删查改4、遍历5、迭代器6、非成员函数…

[NSSRound#13 Basic]flask?jwt?解题思路过程

过程 打开题目链接,是一个登录框,不加验证码,且在注册用户名admin时提示该用户名已被注册,因此爆破也是一种思路。不过根据题目名字中的提示,jwt,且拥有注册入口,注册一个用户先。 注册完用户…

Flink DataStream之使用filter实现分流

新建类 package test01;import org.apache.flink.api.common.JobExecutionResult; import org.apache.flink.configuration.Configuration; import org.apache.flink.streaming.api.datastream.DataStreamSource; import org.apache.flink.streaming.api.datastream.SingleOut…

Pygame Zero(pgzrun)游戏库介绍

Pygame Zero(pgzrun)游戏库介绍 pgzero是python的一个第三方库。pgzrun 是 python game zero run 的缩写, 它对 Pygame 进行了封装, 屏蔽了繁琐枯燥的框架代码, 让学习者可以更专注于游戏的实现逻辑, 并且更快看到成果。 官网https://pygame-zero.read…

单样本微调给ChatGLM2注入知识~

前方干货预警:这可能也是一篇会改变你对LLM微调范式,以及对LLM原理理解的文章。 同时这也是一篇非常有趣好玩,具有强大实操性的ChatGLM2微调喂饭级教程。 我们演示了使用AdaLoRA算法,使用1条样本对ChatGLM2-6b实施微调。几分钟就成…

【Redis】五大数据类型(操作命令)

🎯Redis 命令 🚩Redis 键(key) 这些是 Redis 数据库中的命令,用于对数据类型进行操作和管理。以下是每个命令的含义和用法: DEL:删除一个或多个键。DUMP:将一个键的值转储到一个字符串中。EXPIRE&#x…

【数据结构二叉树OJ系列】4、翻转二叉树(又称求二叉树的镜像)

目录 法一、 法二、 题述: 翻转一颗二叉树。 输入: 输出: 题中已给: struct TreeNode {int val;struct TreeNode* left;struct TreeNode* right; }; TreeNode* invertTree(struct TreeNode* root) 法一、 思路:…

操作指南 | 如何使用Foundry在Moonbeam上进行部署

Foundry是一种以太坊开发环境,可帮助构建者管理依赖项、编译项目、测试或部署合约以及通过指令与区块链进行交互。Foundry已成为流行的开发智能合约开发环境,仅需要使用Solidity即可进行操作。Moonbeam在官方文档网站提供了有关将Foundry与Moonbeam网络结…

vector [] 赋值出现的报错问题

下面这段代码的作用是创建了一个整数类型的vector&#xff08;std::vector<int>&#xff09;并对其进行操作。以下是代码的详细说明&#xff1a; 使用reserve(10)方法为向量分配至少10个元素的存储空间。reserve() 预留了额外的存储空间&#xff0c;以避免后续添加元素时…

C++之typeof和typeid用法(一百五十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

动态规划--Fibonacci数列 III

描述 众所周知&#xff0c;Fibonacci数列是一个著名数列。它的定义是&#xff1a; 本题要求采用第三种方法&#xff1a;简单的动态规划。 用数组把求出来的 Fibonacci 数列保存下来&#xff0c;以免后面要的时候再算一次。 输入描述 每行一个整数 i &#xff0c;表示 Fibona…

【C++修炼之路】string 模拟实现

&#x1f451;作者主页&#xff1a;安 度 因 &#x1f3e0;学习社区&#xff1a;StackFrame &#x1f4d6;专栏链接&#xff1a;C修炼之路 文章目录 一、默认成员函数1、全缺省构造2、析构3、拷贝构造&#xff08;深拷贝&#xff09;4、赋值重载&#xff08;深拷贝&#xff09;…

Langchain 新手完全指南

Langchain 可能是目前在 AI 领域中最热门的事物之一&#xff0c;仅次于向量数据库。 它是一个框架&#xff0c;用于在大型语言模型上开发应用程序&#xff0c;例如 GPT、LLama、Hugging Face 模型等。 它最初是一个 Python 包&#xff0c;但现在也有一个 TypeScript 版本&…

Git gui教程---第五篇 Git gui的使用 查看提交历史

查看提交历史 1.点击菜单栏的“版本库”&#xff0c;选择“图示master分支的历史” 2.出现的界面就是显示当前分支的提交历史了