Ubuntu18.04、CUDA11.1安装TensorRT

最近想试试推理加速,因为跑的预测有点慢,一开始是打算从数据处理上实现,采用并行数据处理,但是这个有所难度,而且有几张显卡可用,就想着怎么把显卡利用上。而且了解到推理加速后,就先尝试一下看看效果,这里尝试的是tensorrt,暂记一下设置过程。

首先是tensorrt的安装,有很多教程,但是版本不一定匹配,这里大家可以找到根据自己的软件版本进行安装的方法。

1、TensorRT版本匹配

明确从哪里去安装,官方安装包在哪,怎么装对的版本,怎么办版本匹配上,不排除非官方匹配版本存在兼容情况,但是根据官方版本问题会少很多。
TensorRT是英伟达提出的,用来加速数据处理,
官网介绍:https://docs.nvidia.com/deeplearning/tensorrt/index.html
在这里插入图片描述
tensorRT的安装和操作系统 windows还是Linux,CUDA版本,cudnn版本,gcc版本有关联,要根据自己已经装了的软件或想要的版本下载正确的tensorRT版本。下面是最新的版本的版本匹配查询网站。
版本查询网站:https://docs.nvidia.com/deeplearning/tensorrt/support-matrix/index.html
在这里插入图片描述
继续下滑鼠标,可以看到对具体系统的安装版本需求:
在这里插入图片描述
如果要查询其他版本,在当前页面找到如下点击:
在这里插入图片描述
打开后可以看到多个版本的系列tensorRT:
在这里插入图片描述找到想要的版本,确定安装的相关软件的版本进行下载安装,比如我是Ubuntu18.04,装了cuda11.1,我要找到合适的tensorrt版本,我就从里面点开来看,找到合适的版本,最终我找到了tensorrt7.2.3

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
按照上面的方法。基本可以确定安装版本不会搞错。

2、TensorRT下载安装

接下来是下载安装,这个有点复杂,需要注册,答题,填问卷啥的,随便填就行了,填完了可以下载到需要的版本。

如下页面可进入下载,网址是:https://developer.nvidia.com/tensorrt

在这里插入图片描述
进入后界面如下:

在这里插入图片描述
在这里插入图片描述
我下载的是压缩包文件,下载之后解压就行,解压命令:

tar xzvf TensorRT-${version}.${os}.${arch}-gnu.${cuda}.${cudnn}.tar.gz

在这里插入图片描述
解压之后,进入里面的文件夹,通过pip install xxx.whl 命令,安装相关内容。
在这里插入图片描述

3、验证及相关bug解决

至此基本上装完了TensorRT,可以在python命令行里验证一下能不能导入库

import tensorrt
import uff

这两个导入一下,我是第二个导入时碰到了 找不到tensorflow模块的错误,自己又装了一个tensorflow2.6.0,然后就可以正常导入这两个库了。

注意:解压tensorRT后尽量把里面的 libinclude文件夹中的内容拷贝到 /usr/lib//usr/include/ 文件夹下,避免系统找不到相关库,不然就用export的办法,把这两个库的路径加到系统里。
碰到的bug:
1、ImportError: libnvinfer.so.7: cannot open shared object file: No such file or directory
第一个就是把tensorRT里面的 lib和include文件夹中的内容拷贝到 /usr/lib/ 和 /usr/include/ 文件夹下,在里面直接找到这个文件夹拷到/usr/lib/就行
2、libnvrtc.so.11.1: cannot open shared object file: No such file or directory 这个不太一样,解决办法

find -name libnvrtc.so.11.1

找到了一并拷贝到 /usr/lib/ 就可以解决,

基本上这就完成了在Ubuntu18.04、CUDA11.1安装TensorRT7.2.3,后面也成功用起来了,用的框架是yolov5,不过还没有对比速度是否有提升。

另外还涉及到pycuda的安装,我不确定这个的安装是否是必须的,官方说要装,但我没装,可能我现在是onnx导出的engine文件运行并不需要这个。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1.0.0 IGP高级特性简要介绍(ISIS)

ISIS高级特性 1.LSP快速扩散 ​ 正常情况下,当IS-IS路由器收到其它路由器发来的LSP时,如果此LSP比本地LSDB中相应的LSP要新,则更新LSDB中的LSP,并用一个定时器定期将LSDB内已更新的LSP扩散出去。 IS-IS如何识别LSP的新旧&#x…

[每周一更]-(第35期):为何要用ChatGPT?

为何要用ChatGPT?因为她是工具,而人类需要工具; AI只要没有自主目的性的话就是工具,需要怕的是使用这个工具的人。掌握了提问的艺术,更好利用AI帮助我们完成目标; 最开始2022/12/07 开始注册ChatGPT使用&a…

【C++】开源:libmodbus通信协议库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍libmodbus通信协议库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#x…

PDF控件Spire.PDF for .NET【安全】演示:将加密或解密 PDF 文件

当涉及到在 Internet 上共享机密文档时,PDF 加密是一项至关重要的任务。通过使用强密码加密 PDF 文件,您可以保护文件数据免遭未经授权的人员访问。在某些情况下,可能还需要删除密码才能公开文档。在本文中,您将了解如何使用Spire…

ChatGPT一周年:开源语言大模型的冲击

自2022年末发布后,ChatGPT给人工智能的研究和商业领域带来了巨大变革。通过有监督微调和人类反馈的强化学习,模型可以回答人类问题,并在广泛的任务范围内遵循指令。在获得这一成功之后,人们对LLM的兴趣不断增加,新的LL…

mac电池最大充电限制 AlDente Pro中文 for Mac

热保护:在电池温度较高时为电池充电会导致电池老化更快。启用热保护后,当电池温度过高时,充电将自动停止。 航行模式:通常情况下,即使激活了最大电池充电,您的 MacBooks 电池也会始终稍微充电和放电以保持所…

linux 驱动——私有数据

文章目录 linux 驱动中的私有数据container_of驱动程序数据结构定义 应用程序模块使用 linux 驱动中的私有数据 前面的程序中,都只申请了一个从设备号,这里使用 alloc_chrdev_region 分配两个设备号,这两个设备共用 ops 方法。 所以需要在 …

案例101:基于微信小程序的停车共享小程序

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

基于Java+Springboot+Vue+elememt宠物用品商城系统设计实现

基于JavaSpringbootVueelememt宠物用品商城系统设计实现 🍅 作者主页 程序开发 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 文章目录 基于JavaSpringbootVueelememt宠物用品商城系统设计实…

CGAL的3D Alpha Shapes

假设我们给定一个二维或三维的点集S,我们希望得到类似“这些点形成的形状”的东西。这是一个相当模糊的概念,可能有许多可能的解释,阿尔法形状就是其中之一。阿尔法形状可用于从密集的无组织数据点集进行形状重建。事实上,阿尔法形…

跑马灯实验

4.1 实验目的 1.熟悉龙芯实验开发板、熟悉 VIVADO 的编译环境及操作流程。 2.掌握 FPGA 编程入门知识、利用门级方法实现简单逻辑电路。 3.继续学习 Verilog HDL 语法、掌握跑马灯的设计、熟悉调试过程。 4.2 实验原理及芯片 本次实验用 Verilog HDL 语言来描述 6 个不同的 …

【Spring Security】打造安全无忧的Web应用--进阶篇

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Spring Security的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.导入相关配置 1.pom 2.ym…

redis基本用法学习(C#调用NRedisStack操作redis)

redis官网文档中推荐C#中使用NRedisStack包连接并操作redis,本文学习C#调用NRedisStack操作redis的基本方式。   新建Winform项目,在Nuget包管理器中搜索并安装NRedisStack包,如下图所示: 主要调用StackExchange.Redis命名空间下…

Navicat里放大、缩小字体的快捷方法

我是偶然误触键盘把字体缩小了,研究以后发现的这个快捷键,分享给大家。 方法:按住【CtrlShift】组合键,再拖动鼠标滚轮,就可以缩放字体了。 缩小效果: 放大效果:

看懂PL/SQL执行计划

看懂PL/SQL执行计划 一:什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述 二:怎样查看Oracle执行计划? 因为我一直用的PLSQL远程连接的公司数据库,所以这里以PLSQL为例&#xff1…

第4章Netty第二节入门案例+channel,future,promise介绍

需求 开发一个简单的服务器端和客户端 客户端向服务器端发送 hello, world服务器仅接收&#xff0c;不返回 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.39.Final</version> </d…

TrustZone之可信操作系统

有许多可信内核&#xff0c;包括商业和开源的。一个例子是OP-TEE&#xff0c;最初由ST-Ericsson开发&#xff0c;但现在是由Linaro托管的开源项目。OP-TEE提供了一个功能齐全的可信执行环境&#xff0c;您可以在OP-TEE项目网站上找到详细的描述。 OP-TEE的结构如下图所示&…

通杀无限 debugger,目前只有 1% 的人知道!

前言 相信很多小伙伴在进行 web 逆向的时候&#xff0c;都遇到过无限 debugger。最简单的方法&#xff0c;在 debugger 位置&#xff0c;点击行号&#xff0c;右键 Never pause here&#xff0c;永远不在此处断下即可。但是这种方法就妄想通杀&#xff0c;显然是不大可能的&am…

电子科技大学《高级算法设计与分析》期末复习汇总

&#x1f389; 博主相信&#xff1a; 有足够的积累&#xff0c;并且一直在路上&#xff0c;就有无限的可能&#xff01;&#xff01;&#xff01; &#x1f468;‍&#x1f393;个人主页&#xff1a; 青年有志的博客 &#x1f4af; 说明&#xff1a; 本文中前大部分来自简言之大…

Ubuntu 常用命令之 sudo 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 sudo命令在Ubuntu系统中是一个非常重要的命令&#xff0c;它允许系统管理员赋予某些用户&#xff08;或用户组&#xff09;以系统管理员的身份运行一些或全部的命令。sudo代表“superuser do”&#xff0c;即以超级用户的身份执行…