ubuntu16.04-cuda11.1上使用TensorRT加速yolov5推理

2023-11-13

基础

环境

其实极客的版本已经给我们了

ubuntu16.04-cuda11.1-cudnn8.0-opencv4.1.1-tensorrt7.2

检查

ubantu版本

lsb_release -a

在这里插入图片描述
检查cuda版本

nvcc --version

在这里插入图片描述
查看tensorRT的路径

 cd
 find / -name tensorrt*

在这里插入图片描述

需要做的事

(1)下载tensorRT

在Linux下安装tensorrt包时使用

pip install tensorrt
pip install nvidia-pyindex
pip install nvidia-tensorrt

【参考文档】下载tensorRT
这个在官网是真没看见!!!

(2)按照文档运行

文档指的是https://github.com/wang-xinyu/tensorrtx/tree/master/yolov5

报错

然后就是在运行python gen_wts.py -w yolov5s.pt -o yolov5s.wts报个这个错

RequestsDependencyWarning: urllib3 (1.26.12) or chardet(2.3.0)/charset_normalizer (2.0.12) doesn’t match a supported version! RequestsDependencyWarning)

【参考文档】urllib3 1.26.9 or chardet 4.0.0 doesn‘t match a supported version报错处理
版本要求是:

chardet_version >= 3.0.2, < 5.0.0
 urllib3 >= 1.21.1, <= 1.26

所以就
先删除

pip uninstall chardet
pip uninstall urllib3

然后换个新版本吧

pip install chardet==3.0.4 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
 pip install urllib3==1.25 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

用这个源只是因为之前那个源卡到不行

使用tensorRT

如果你乖乖按照文档进行,你就会到这个位置了。
接下来就是使用tensorRT:

  1. 先要将转换好的.wts文件再次转化为.engine文件
  2. 使用.engine进行推理
cp train/src_repo/yolov5-6.0/yolov5s.wts train/src_repo/tensorrtx/yolov5/build

(1)第一种使用方式

// For example yolov5s
sudo ./yolov5 -s yolov5s.wts yolov5s.engine s
sudo ./yolov5 -d yolov5s.engine ../samples

在这里插入图片描述

报错

其实一开始./yolov5 -s yolov5s.wts yolov5s.engine s应该是报了一个错

virtual nvinfer1::YoloLayerPlugin::~YoloLayerPlugin(): Assertion `0’ failed

应该是权重文件不对应,权重文件也应该下载对应版本的.

然后运行./yolov5 -d yolov5s.engine /project/train/src_repo又爆了一个错

terminate called after throwing an instance of ‘cv::Exception’
what(): OpenCV(4.1.2) /usr/local/src/opencv/modules/imgcodecs/src/loadsave.cpp:715: error: (-215:Assertion failed) !_img.empty() in function ‘imwrite’
Aborted (core dumped)

这个错本笨比也是搞了一会
./yolov5 -d yolov5s.engine +检测文件夹
①如果不是文件夹或者不存在这个文件夹报这个错:read_files_in_dir failed
②上面这个错大概率是路径问题

结果就是这样子:
在这里插入图片描述

(2)第二种使用方式:指定depth_multiple, width_multiple

sudo ./yolov5 -s yolov5_custom.wts yolov5.engine c 0.17 0.25
sudo ./yolov5 -d yolov5.engine ../samples
报错

yolov5: /project/train/src_repo/tensorrtx/yolov5/common.hpp:94: std::map<std::__cxx11::basic_string, nvinfer1::Weights> loadWeights(std::__cxx11::string): Assertion `input.is_open() && “Unable to load weight file. please check if the .wts file path is right!!!”’ failed.
Aborted (core dumped)

同样也是权重问题,权重文件也应该下载对应版本的.

warning

[W] [TRT] TensorRT was linked against cuDNN 8.1.0 but loaded cuDNN 8.0.5

这个东西算是个warning,可以不管,一般不会在这个问题上出错,但是还是建议检查一下cmake路径

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu16.04-cuda11.1上使用TensorRT加速yolov5推理 的相关文章

随机推荐

  • CNN

    卷积神经网络 Convolutional Neural Networks 是一种深度学习模型或类似于人工神经网络的多层感知器 常用来分析视觉图像 CNN在图像分类数据集上有非常突出的表现 DNN与CNN 下图为DNN 下图为CNN 虽然两张
  • 低压差线性稳压电源(LDO)原理、参数及应用

    文章目录 前言 一 低压差线性稳压电源是什么 二 LDO工作原理 1 NPN稳压器 2 LDO稳压器 3 准LDO稳压器 4 场效应管 FET 作为导通管LDO 三 LDO的参数 1 裕量电压 2 静态电流和接地电流 3 效率 4 PSRR
  • 错误:‘uuid_t’在此作用域中尚未声明

    安装TFS报错 1 2 3 4 5 6 7 8 9
  • MYSQL 中 LIMIT 用法

    mapper文件中的sql 在实体类中定义的属性 start 从第几条记录开始 size 读取几条记录 select id findAllUsers parameterType Map resultType entity IUser gt
  • 华为OD机试 - 座位调整(JS)

    题目描述 疫情期间课堂的座位进行了特殊的调整 不能出现两个同学紧挨着 必须隔至少一个空位 给你一个整数数组 desk 表示当前座位的占座情况 由若干 0 和 1 组成 其中 0 表示没有占位 1 表示占位 在不改变原有座位秩序情况下 还能安
  • java--注解和反射

    一 注解 1 1 注解Annotation的概念 1 注解的作用 注解Annotation是从JDK1 5开始引入的新技术 我们在编程中经常会使用到注解 它的作用有 1 编译检查 比如 SuppressWarnings Deprecated
  • 【使用html2pdf将页面生成PDF文件】

    前端使用html2pdf将页面生成PDF文件 一 下载js文件 链接 https cdnjs cloudflare com ajax libs html2pdf js 0 10 1 html2pdf bundle min js 二 引入js
  • poi 操作 PPT,针对 PPTX--图表篇

    poi 操作 PPT 针对 PPTX 图表篇 文章目录 poi 操作 PPT 针对 PPTX 图表篇 1 读取 PPT 模板 2 替换标题 4 替换图表数据 接下来对 ppt 内的图表进行操作 替换图表的数据 原幻灯片样式 1 读取 PPT
  • 并发编程基本概念(进程,线程,协程,线程池,同步/互斥)

    并发编程基本概念 一 进程的概念 计算机的核心是CPU 它承担了所有的计算任务 而操作系统是计算机的管理者 它负责任务的调度 资源的分配和管理 统领整个计算机硬件 应用程序则是具有某种功能的程序 程序是运行于操作系统之上的 进程 从用户角度
  • 企业微信三方应用开发(一)三方应用开发设置,suit_ticket获取,验证回调有效性

    加我微信li570467731 拉你进二百多人企业微信开发同行群 文末有二维码 企业微信开发三部曲 企业微信应用开发概述篇 免费 已完结 企业微信开发第三方应用开发篇 更新中 企业微信开发自建内部应用开发 筹备中 关注公众号 ToB Dev
  • 练习:“快乐数”判断

    练习 快乐数 判断 APP发文编辑机制更新后 慢热的我还适应不来 这里只放了 python 代码 运行效果和题目 请点击前面蓝色文字 移步我昨天的 学习打卡 帖 Pyonth 代码 coding utf 8 from random impo
  • 冒泡排序详解(C语言)

    对于刚入门学习编程的新手来说 冒泡排序应该是大家接触的第一个算法 由于刚接触编程不久 新手的思维还没有得到很好的开拓 冒泡排序在一开始对新手来说有些难理解 现在就让我们来看看新手如何更好的来理解冒泡排序算法 冒泡排序的思路 假设数组有n个数
  • Attentional Feature Fusion 注意力特征融合

    Attentional Feature Fusion 注意力特征融合 最近看到一篇比较不错的特征融合方法 基于注意力机制的 AAF 与此前的 SENet SKNet 等很相似 但 AFF 性能优于它们 并且适用于更广泛的场景 包括短和长跳连
  • Web3存储赛道Arweave(AR)

    Arweave简介 Arweave的愿景是成为一座新的亚历山大图书馆 旨在成为世界知识的普遍宝库 Arweave是一个类似FileCoin的新的去中心化存储平台 Arweave通过区块链的方式实现 文件存在每一个区块上 Arweave原来的
  • Matlab学习11-图像处理之图像变换

    文章目录 一 傅里叶变换快速卷积 二 模板匹配 三 二维离散余弦变换 四 JPEG图像压缩典型算法 总结 一 傅里叶变换快速卷积 代码 傅里叶变换快速卷积 disp 步骤1 生成3 3的矩阵A和B A 4 5 6 7 8 9 B 3 2 1
  • 看到一篇关于软件专业的讨论,对将要选大学专业的人很有用

    APUE和UNP看不懂怎么办 狗尾草 C 前几天京东搞活动 我就把这三本书都买了 结果还是高估了自己的功力 看了一星期都看不懂 谁能提点建议 这两套书该怎么看或者推荐一点更简单入门的书 mephistohk W Richard Steven
  • Ciclop开源3D扫描仪软件---Horus源码分析之src\horus\engine\calibration\calibration.py

    coding utf 8 This file is part of the Horus Project author Jes煤s Arroyo Torrens
  • java定时器,每天00:00执行任务

    import java text SimpleDateFormat import java util Calendar import java util Timer import java util TimerTask public cla
  • 多分类 & 多标签 准确度计算

    多标签 V S 多分类 多类分类 Multiclass classification 表示分类任务中有多个类别 比如对一堆水果图片分类 它们可能是橘子 苹果 梨等 多类分类是假设每个样本都被设置了一个且仅有一个标签 一个水果可以是苹果或者梨
  • ubuntu16.04-cuda11.1上使用TensorRT加速yolov5推理

    基础 环境 其实极客的版本已经给我们了 ubuntu16 04 cuda11 1 cudnn8 0 opencv4 1 1 tensorrt7 2 检查 ubantu版本 lsb release a 检查cuda版本 nvcc versio