yolov3-tiny模型转trt的一个实例

news2025/2/28 16:59:12

感谢作者分享,仓库地址:https://github.com/zombie0117/yolov3-tiny-onnx-TensorRT?tdsourcetag=s_pcqq_aiomsg

该仓库的代码没有使用现有的神经网络框架,如pytorch,tensorflow等,因此环境搭建相对比较容易。

仓库作者是在TX2平台进行的转换,但平台这一块只要是在nvidia-jetson系列,其实是没有限制的,但有一点需要注意,如果你用的是tx2平台,tensorrt的版本是不支持8.x以上的版本,即只支持5.x,6.x和7.x,即你的jetpack版本需在4.5.1以下。具体什么原因呢?请看下图:

这是tensorrt8.2版本的sdk官方说明截图,明确说明只支持量化到int8了,众所周知,tx2只支持fp16的量化,不支持量化到int8,所以,懂了波~~~~(这块博主其实趟坑也趟了好久才找到,因为tensorrt8.X版本的sdk接口也改了好多,博主改源码也改了好久,最后发现不适配int8,😭😱😭)

nvidia这是要淘汰tx2啊~~~

好了,开始正文吧,我的趟坑记录~~~

1. pycuda安装

要使用python调用tensorRT,必须要安装pycuda的,由于作者用的python2,因此在安装时务必要使用python2来安装cuda,首先可以尝试直接在线安装,主要很方便。

sudo apt install python-pip
pip install pycuda

如果不成功,就将pycuda下载下来离线安装,参考《jetson安装pycuda》。

2. cfg文件处理

在yolov3-tiny装onnx时报错,如下图:

打开YOLOv3-tiny.cfg文件,在文件的末尾加一行空行即可解决问题。

3. onnx转trt模型

在onnx转trt模型时,如果使用的是tensorrt7.x及以上版本,需要对onnx_to_tensorrt.py作一些改动,在get_engine函数中添加如下语句:

explicit_batch = 1 << (int)(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH) # trt7.x

其他关于输入,锚点,路径的设置,在仓库中已经写得很清楚了,就不再赘述了。

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

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

相关文章

Docker逃逸

文章目录原理环境搭建Docker 环境判断Docker 容器逃逸特权模式逃逸如何判断是否为特权模式逃逸docker.sock挂载逃逸逃逸Remote API未授权访问未授权访问逃逸容器服务缺陷逃逸影响版本环境搭建逃逸脏牛漏洞逃逸参考原理 docker其实就是一个linux下的进程&#xff0c;它通过Name…

RV1126笔记二十八:RKNN上部署OCR测试

若该文为原创文章,转载请注明原文出处。 本篇文章只是记录下测试OCR的效果,想了解全过程,参考: 【工程部署】手把手教你在RKNN上部署OCR服务(上)_opencv rknn_ocr_三叔家的猫的博客-CSDN博客 【工程部署】手把手教你在RKNN上部署OCR服务(下)_三叔家的猫的博客-CSDN博…

ROS2中使用gazebo仿真时找不到libgazebo_ros_openni_kinect.so

因为ros2的gazebo_ros_pkgs中&#xff0c;已经将该插件移除&#xff0c;或者说将该插件的功能合并到libgazebo_ros_camera.so中&#xff0c; 这里是作者的说明。 合并后&#xff0c;深度相机的用法参考这里。 主要是将type改成depth。还有其他类型的相机&#xff0c;可以参考具…

如何优雅的实现回调函数?

本篇文章又是一期优雅的代码编程介绍———回调函数。 传统的nodejs编程都是这样的 const fs require(fs) fs.readFile(test.txt,utf8, function(err, dataStr){if(err){} }) 嵌套层级如果多了就成回调地狱了。如果我们将这种风格的代码转换成这样呢&#xff1f; const fs …

Word论文排版(1)样式设定

前言&#xff1a;现在很多学校都有 LaTeX 模板了&#xff0c;但是也有很多渣渣学校/学院没提供&#xff0c;而且要求必须提供 Word 版本的大论文&#xff01;那就只能从 Word 下手了。 Requirements Windows11、Word2016 样式设定 为什么要设置&#xff1a;和 LaTeX 一样&am…

MobaXterm详细使用教程

这一篇MobaXterm详细使用教程&#xff0c;我们来介绍一下如何设置并用MobaXterm来连接Linux服务器。MobaXterm 又名 MobaXVT&#xff0c;是一款增强型终端、X 服务器和 Unix 命令集(GNU/ Cygwin)工具箱。MobaXterm 可以开启多个终端视窗&#xff0c;以最新的 X 服务器为基础的 …

【笔试强训】Day_01

目录 一、选择题 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 二、编程题 1、组队竞赛 2、删除公共字符 一、选择题 1、 以下for循环的执行次数是&#xff08;&#xff09; for(int x 0, y 0; (y 123) && (x < 4); x); A 、是无限循环 B 、循环次…

从零开始学C

以下是 该如何学习C语言的【思维导图】以及部分重点知识点的【博客链接】。其实C语言并不难&#xff0c;难的是没有人去教&#xff0c;没有耐心去学。不知道从哪下手学习&#xff0c;我将C的知识点做成一个思维导图&#xff0c;以供迷茫的小白参考&#xff0c;哪里不会&#xf…

快速且有效减小代码包的方法

前言当我们在发布一些APP或者小程序等比较小的程序时候&#xff0c;常常会对其主包大小进行一定的规定&#xff0c;若超过推荐的主包大小则性能会被大大影响&#xff0c;或者再严重一点就不给你过审。如微信小程序中也对主包有一定的大小要求。对此一些比较复杂的小程序就需要考…

【机器学习】P1 Cost Function

Cost Functione.g.e.g.e.g. 假设你想要卖一个房子&#xff0c;希望可以用人工智能来算出能卖多少钱。机器学习可以根据提供的数据集合构建出很多模型&#xff0c;但是到底哪种模型最好的拟合你的数据&#xff1f;或者说&#xff0c;哪种模型可以最准确的算出你的卖多少钱&#…

TikTok曝高危漏洞允许一键式帐户劫持,回应称已修复

据The Verge 8月31日消息&#xff0c; TikTok安卓版存在一个高危漏洞&#xff0c;攻击者可能借此实现一键式账户劫持&#xff0c;影响数亿用户 。 微软365防御研究小组在一篇博文中披露了该漏洞的细节&#xff0c; 影响范围为23.7.3之前的安卓版本 。在微软向TikTok报告后&…

如何用 JavaScript 编写你的第一个单元测试

前言 测试代码是使代码安全的第一步。做到这一点的最好方法之一是使用单元测试&#xff0c;确保应用程序中的每个小功能都能发挥其应有的作用–特别是当应用程序处于边缘情况&#xff0c;比如无效的输入&#xff0c;或有潜在危害的输入。 为什么要单元测试 说到单元测试&…

测试开发之Django实战示例 第十章 创建在线教育平台

第十章 创建在线教育平台在上一章&#xff0c;我们为电商网站项目添加了国际化功能&#xff0c;还创建了优惠码和商品推荐系统。在本章&#xff0c;会建立一个新的项目&#xff1a;一个在线教育平台&#xff0c;并创内容管理系统CMS&#xff08;Content Management System&…

OSI模型详解

今天&#xff0c;我们详解OSI&#xff08;Open System Inter-connection Reference Model&#xff09;模型&#xff0c;来看看工业物联网的网络互联和数据互通。 OSI模型 1984年&#xff0c;国际标准化组织&#xff08;International Organization for Standardization&#…

C控制语句(continue,break)

一.continue 3种循环都可以使用continue语句。执行到该语句时&#xff0c;会跳过本次迭代的剩余部分&#xff0c;并开始下一轮迭代 for(count0;count<10;count) { ch getchar(); If(ch \n) continue; putchar(ch&#xff09;&#xff1b; } 这条代码当中当ch等于\…

MySQL CAST()函数用法

一、语法 expr&#xff1a;源数据&#xff0c;如字符串’China’。type&#xff1a;目标数据类型&#xff0c;例如CHAR。 cast(expr AS type)二、命令说明 将任何类型的值转换为具有指定类型的值。 CAST()函数通常用于返回具有指定类型的值&#xff0c;以便在WHERE&#xff…

Vue3+mitt.js配置logger

前言 Vue项目中的组件通信方式&#xff0c;绝大多数的情况是可以被Vuex等方案代替的&#xff0c;但有一些特殊情况却非常适合使用EventBus&#xff0c;举个简单的例子&#xff1a;有A、B两个组件&#xff0c;用户在A上进行操作后&#xff0c;需要B执行某些逻辑。 由于Vue3中删…

TiDB在转转公司的发展历程

1 前言 2 运维痛点 3 解决痛点 3.1 元数据管理 3.2 机器资源管理 3.3 全面升级 3.4 告警改造 4 实现自动化 4.1 需求工单化 4.2 操作平台化 4.3 其他辅助功能 5 写在最后 1 前言 转转是PingCAP最早的一批用户之一&#xff0c;见证了TiDB的发展&#xff0c;自身也沉淀…

计讯物联高精度定位GNSS接收机TN521在水库大坝变形监测的应用解析

由于水库大坝在地质环境恶劣和气候条件复杂的条件下&#xff0c;水库坝体的稳定性会受到严重考验。为了保证水库大坝的安全运营&#xff0c;GNSS作为一种实现远程自动化测量的高精度的变形监测技术&#xff0c;具有高精度、高速度、全天候、连续实时、自动化等优势&#xff0c;…