TensorRT安装

news2024/9/23 3:31:51

  本文是为了记录安装TensorRT过程中遇到的一些问题。

  1. 首先进入TensorRT下载页面,选择你要下载的TensorRT版本。
    因为TensorRT不同的版本依赖于不同的cuda版本和cudnn版本。所以很多时候我们都是根据我们自己电脑的cuda版本和cudnn版本来决定要下载哪个TensorRT版本。
  • 查看cuda版本:
    在这里插入图片描述
    可以看到,我的cuda版本为11.3。
  • 查看cudnn版本
    网上看的资料都是让你输入下面这条语句:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

或者这条语句:

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

如果你使用这两条语句成功显示了cudnn的版本,那便继续往下走。笔者在使用这两条语句时会出现如下错误:
在这里插入图片描述
经过分析,在我的系统里,cudnn文件存在于/usr/include/文件夹下。cd进入/usr/include/文件夹,查看cudnn的版本:

cd /usr/include/
cat cudnn_version.h

在这里插入图片描述
可以看到,我的cudnn版本现在为8.2.0。

  1. 我准备安装 TensorRT8.5,通过TAR包的形式安装。cuda11.0-11.8都可以。下载之后,发现cudnn要求为8.6.0,但是我的cudnn版本为8.2.0。所以要升级cudnn。
    在这里插入图片描述

  2. 下载cudnn8.6.0,cudnn的下载页面
    在这里插入图片描述
    下载这个安装包。
    具体如何升级cudnn到8.6.0,请参考如下链接:
    cudnn升级

  3. 现在我们的cudnn和cuda都安装到对应的版本上了,开始安装TensorRT。

  • 首先解压下载的TensorRT安装包
tar -xzvf TensorRT-8.5.1.7.Linux.x86_64-gnu.cuda-11.8.cudnn8.6.tar.gz
  • 添加环境变量
vim ~/.bashrc
export LD_LIBRARY_PATH=/path/TensorRT-8.5.1.7/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=/path/TensorRT-8.5.1.7/lib::$LIBRARY_PATH

这里的path换成你自己的TensorRT路径。保存退出后,执行:

source ~/.bashrc
  • python调用TensorRT API
    进入TensorRT文件夹下的python文件夹,执行以下命令,安装python接口的tensorrt。
pip install ./tensorrt-8.5.1.7-cp38-none-linux_x86_64.whl 

这里的cpXX对应的是你的python版本。

  • uff组件
    进入uff文件夹,安装uff组件。
pip install ./uff-0.6.9-py2.py3-none-any.whl 
  • 安装graphsurgeon
    进入graphsurgeon文件夹,执行以下命令:
pip install ./graphsurgeon-0.4.6-py2.py3-none-any.whl 
  • 安装onnx_graphsurgeon
    进入onnx_graphsurgeon文件夹,执行以下命令:
pip install ./onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl 

综上我们已经安装了python调用TensorRT的一些库。除此之外,我们还要安装pycuda库,使用pip install安装即可。

  1. 验证TensorRT是否安装正确,cd进入samples文件夹
cd samples
make -j8

如果环境什么都没出错的话,这里编译是会很顺利的。然后cd进入bin文件夹,

cd ..
cd bin
./sample_onnx_mnist

出现下面的结果就表示安装正确。
在这里插入图片描述

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

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

相关文章

[附源码]计算机毕业设计校园招聘系统设计Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

如何收到消息第一时间将网站置灰,难道让程序员上个线?

注意:文本不是讲如何将网站置灰的那个技术点,那个技术点之前汶川地震的时候说过。 本文不讲如何实现技术,而是讲如何在第一时间知道消息后,更快速的实现这个置灰需求的上线。 实现需求不是乐趣,指挥别人去实现需求才…

安全研究 # 二进制代码相似性检测综述

本文参考: [1]方磊,武泽慧,魏强.二进制代码相似性检测技术综述[J].计算机科学,2021,48(05):1-8. (信息工程大学数学工程与先进计算国家重点实验室, 国家重点研发课题,北大核心) 摘要 代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域,可分为…

Numpy入门[11]——生成数组的函数

Numpy入门[11]——生成数组的函数 参考: https://ailearning.apachecn.org/ 使用Jupyter进行练习 import numpy as nparange arange 类似于Python中的 range 函数,只不过返回的不是列表,而是数组: arange(start, stop None, st…

Java并发编程—java内存模型2

文章目录重排序数据依赖性as-if-serial重排序对多线程的影响顺序一致性同步程序的顺序一致性效果同步/异步总线事务双重校验锁—————————————————————————————————— 重排序 数据依赖性 数据依赖不能进行重排序 as-if-serial as-if-seri…

[附源码]计算机毕业设计大学生心理健康测评系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Compressed Bloom Filters论文总结

Compressed Bloom Filters论文总结AbstractI. INTRODUCTIONII. COMPRESSED BLOOM FILTERS:THEORYA. Bloom FiltersB. Compressed Bloom FiltersIII. COMPRESSED BLOOM FILTERS:PRACTICEA. ExamplesIV. DELTA COMPRESSIONV. COUNTING BLOOM FILTERSVI. CONCLUSIONAbstract 我们…

Elasticsearch面试题

Elasticsearch面试题 1 为什么要使用Elasticsearch? 系统中的数据,随着业务的发展,时间的推移,将会非常多,而业务中往往采用模糊查询进行数据的搜索,而模糊查询会导致查询引擎放弃索引,导致系统查询数据…

C#/WPF/.NET 找到的程序集清单定义与程序集引用不匹配

vs 窗口报错 引发的异常:“System.Windows.Markup.XamlParseException”(位于 PresentationFramework.dll 中) “初始化“CircularGauge.CircularGaugeControl”时引发了异常。”,行号为“288”,行位置为“23”。代码位置报错 FileLoadException: 未能…

【Qt记录】属性 Q_PROPERTY

使用: Qt 拥有一个属性系统。我经常在QSS中使用 QWidget#SWNotifyMsgDialog QLabel#label_sure[status"normal"]配合在代码中使用 ui.label_sure->setProperty("status","warning"); 函数原型:bool QObject:setProp…

物联网开发笔记(56)- 使用Micropython开发ESP32开发板之手机蓝牙控制舵机

一、目的 这一节我们学习如何使用我们的ESP32开发板来实现通过蓝牙控制接在ESP32开发板上的舵机。 二、环境 ESP32 MG90S舵机 Thonny IDE 几根杜邦线 手机 舵机的链接方法见第54节:物联网开发笔记(54)- 使用Micropython开发ESP32开发板之…

Win11的两个实用技巧系列之电脑死机解决办法

目录 Win11电脑突然死机卡住不动?Win11电脑死机屏幕静止 方法一: 方法二: sfc包括有以下命令: 方法三: 点击拿去 Win11电脑突然死机卡住不动?Win11电脑死机屏幕静止 在使用Win11系统时,很多用户经常会遇到自己…

12月3日下午:thinkphp框架中的视图以及模型剩余部分

回忆知识: dump()与halt()方法 dump():输出内容后不会终止脚本,会继续向下执行 halt():输出内容后会终止脚本,结束程序 //dump()和halt()public function haltTest(){$result \db(demo)->where(id,,1)->select…

【Qt记录】Windows 窗口层级(Z-order)

功能:软件有一个提示弹窗,希望让他永远在最上面,保证该窗口在任何情况下不会被遮挡。 由上面的问题就查找对应的api找到了SetWindowPos()。 在说这个函数之前,先了解以下概念: Z-order(Z顺序&#xff09…

6. SpringBoot 整合 RabbitMQ

二八佳人体似酥&#xff0c;腰间仗剑斩愚夫。虽然不见人头落&#xff0c;暗里教君骨髓枯。 创建一个 普通的 Spring Boot Web 项目 整合 RabbitMQ pom.xml 添加依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-st…

【云原生】一文带你吃透FlexManager数据传入华为云IOT

文章目录一、华为云设备接入服务1、创建设备接入基础版2、创建产品实例3、在产品下创建设备实例二、FlexManager部署一、华为云设备接入服务 设备接入服务&#xff08;IoTDA&#xff09;是华为云的物联网平台&#xff0c;提供海量设备连接上云、设备和云端双向消息通信、批量设…

【Linux】守护进程

文章目录任务管理进程组作业会话任务管理操作相关操作守护进程创建守护进程daemon函数创建守护进程所谓的项目部署任务管理 进程组 进程组是一个或多个进程的集合。每个进程除了有一个进程ID之外&#xff0c;还属于一个进程组。 每个进程组有一个唯一的进程组ID。每个进程组都…

CTFShow re2 (RC4

参考&#xff1a;CTFSHOW re2 本文&#xff1a;跟着大佬的博客一步一步做CTFShow re2的记录 IDA分析 有个比较函数 re一下 s "DH~mqqvqxB^||zllJq~jkwpmvez{" s1 for i in s:s1 chr(ord(i) ^ 0x1f) print(s1)得到 再四处看看 跟进sub_401028 四个sub点进去看看…

禅道登录-调用API方式

禅道提供了API机制方便于大家和其他的系统进行集成&#xff0c;API机制也都是基于http协议的&#xff0c;返回的数据以json格式存储。禅道的API都是需要先登录后才能进行接口调用&#xff08;登录返回的cookie需要在之后的每次请求中携带用于验证身份信息&#xff09;。网上关于…

DNS中有哪些值得学习的优秀设计

为什么要有DNS 如果我们想要访问某度&#xff0c;你可以在浏览器上的搜索栏里输入112.80.248.76这个IP地址&#xff0c;直达页面。 通过IP访问网页 这样的行为&#xff0c;合法&#xff0c;但有病。 大部分人&#xff0c;连自己对象的电话号码都记不住&#xff0c;又怎么可能…