tensorRT安装详解(linux与windows)
目录
tensorRT介绍
前置准备
安装cuda与cudnn
linux
windows
cuda版本查看
下载安装包
linux安装
安装
安装验证
windows安装
安装
环境变量配置
安装验证
tensorRT介绍
有关tensorRT的介绍见
TensorRT简介-CSDN博客
前置准备
安装cuda与cudnn
linux
Linux下安装cuda和对应版本的cudnn_linux怎么在自己的环境中安装cuda和cudnn-CSDN博客
windows
windows安装cuda与cudnn-CSDN博客
cuda版本查看
linux与windows均可使用以下命令查看cuda版本
nvcc -V
下载安装包
进官网查看对应自己cuda版本的tensorRT
TensorRT Download | NVIDIA Developer
官网页面打开如下所示, 每个版本的tensorRT都有对应操作系统与cuda版本的说明
注意,win11只能只有tensorRT10支持
linux下我们以安装tensorRT8为例,如下图所示 ,第一个红色框是cuda11对应的安装包,第二个红色方框是cuda12对应的安装包,找到自己对应cuda版本的安装包即可,建议下载tar包,安装比较方便
同理,windows11下只要tensorRT10支持,如下图所示,仍旧找到自己的安装包下载即可
linux安装
安装
下载好安装包后,将文件解压至 /usr/local,如下所示
然后将tensorrt的头文件和库文件加入到环境变量中,配置~/.bashrc文件
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT-8.5.3.1/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/TensorRT-8.5.3.1/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/TensorRT-8.5.3.1/include
添加完路径后使配置文件生效
source ~/.bashrc
安装验证
进入到 /usr/local/TensorRT-8.5.3.1/samples/sampleOnnxMNIST路径下,执行
sudo make
进入/usr/local/TensorRT-8.5.3.1/bin目录,运行可执行文件sample_onnx_mnist,如果编译和运行过程都没有问题则说明tensorrt安装成功,运行结果如下
windows安装
安装
首先找到自己cuda的安装路径,打开cmd命令行窗口,输入
which nvcc
如果cuda安装成功,会显示cuda的安装路径
/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.1/bin/nvcc
然后解压下载的tensorRT安装包,将tensorRT中lib目录和include目录中的文件内容都拷贝到cuda对应的目录文件下
环境变量配置
右键“此电脑”,点击"属性",点击“高级系统设置”,即可打开系统属性面板
也可以在搜索框输入“编辑系统环境变量”,也可打开下述面板
然后点击环境变量
用户变量一栏,点击Path
点击“新建”,将对应TensorRT解压的文件夹下的bin目录路径,以及cuda安装目录下的lib目录、include目录,以及lib下的x64目录路径设置进去,如下所示
然后逐步点击“确定”,直到所有面板关闭,一定不要直接点右上角关闭,否则配置会失败
安装验证
打开cmd命令窗口,输入
trtexec --help
如果显示以下帮助信息,说明TensorRT中的trtexec程序可用,否则检查trtexec程序(TensorRT解压安装包的bin目录下)的环境变量是否配置正确
接下来代码验证trtexec是否可成功执行,打开python,写下如下python代码,更多代码细节见
PyTorch模型转换ONNX 入门-CSDN博客
import torch
import torchvision.models as models
import onnx
import onnxruntime# 加载 PyTorch 模型
model = models.resnet18(pretrained=True)
model.eval()# 定义输入和输出张量的名称和形状
input_names = ["input"]
output_names = ["output"]
batch_size = 1
input_shape = (batch_size, 3, 224, 224)
output_shape = (batch_size, 1000)# 将 PyTorch 模型转换为 ONNX 格式
torch.onnx.export(model, # 要转换的 PyTorch 模型torch.randn(input_shape), # 模型输入的随机张量"resnet18.onnx", # 保存的 ONNX 模型的文件名input_names=input_names, # 输入张量的名称output_names=output_names, # 输出张量的名称dynamic_axes={input_names[0]: {0: "batch_size"}, output_names[0]: {0: "batch_size"}} # 动态轴,即输入和输出张量可以具有不同的批次大小
)# 加载 ONNX 模型
onnx_model = onnx.load("resnet18.onnx")
onnx_model_graph = onnx_model.graph
onnx_session = onnxruntime.InferenceSession(onnx_model.SerializeToString())# 使用随机张量测试 ONNX 模型
x = torch.randn(input_shape).numpy()
onnx_output = onnx_session.run(output_names, {input_names[0]: x})[0]print(f"PyTorch output: {model(torch.from_numpy(x)).detach().numpy()[0, :5]}")
print(f"ONNX output: {onnx_output[0, :5]}")
如果代码运行不成功,查看pytorch是否安装、onnx模块是否安装、onnxruntime模块是否安装
如果代码运行成功,会在本地输出一个mymodel.onnx文件
接下来打开该文件所在路径,打开cmd,输入
trtexec --onnx=mymodel.onnx --saveEngine=model.trt
如果运行成功,说明TensorRT安装成功
如果这里运行失败,检查环境变量是否配置正确
参考
ubuntu20.04 安装TensorRT c++库 - Wangtn - 博客园 (cnblogs.com)
TensorRT安装部署指南(Windows10) - 知乎 (zhihu.com)
相关文章:

tensorRT安装详解(linux与windows)
目录 tensorRT介绍 前置准备 安装cuda与cudnn linux windows cuda版本查看 下载安装包 linux安装 安装 安装验证 windows安装 安装 环境变量配置 安装验证 tensorRT介绍 有关tensorRT的介绍见 TensorRT简介-CSDN博客 前置准备 安装cuda与cudnn linux Linux下…...
MYSQL OPTIMIZE TABLE 命令重建表和索引
在 MySQL 中,OPTIMIZE TABLE 命令用于重建表和相关索引,以及回收未使用的空间。这个命令对于维护和优化数据库表的性能非常有用,特别是在进行了大量的数据删除操作之后。OPTIMIZE TABLE 可以减少数据文件的碎片化,确保数据存储更加…...
开发指南075-各种动画效果
方法一、使用动画GIF图标 方法二、使用vue-count-to import CountTo from vue-count-to components: { CountTo }, <count-to :start-val"0" :end-val"num" :duration"num>0?num:1" class"card-panel-num" /> 方法…...
使用 el-upload 如何做到发送一次请求上传多个文件
在使用 Element UI 的 el-upload 组件时,默认情况下每次选择文件都会触发一次上传请求。如果你需要一次性上传多个文件,而不是每个文件都触发一次请求,可以通过一些配置和代码处理来实现。 方法一:通过配置file-list(…...

GEE引擎架设好之后进游戏时白屏的解决方法——gee引擎白屏修复
这两天测试GeeM2引擎的服务端,最常见的问题就是点击开始游戏出现白屏,最早还以为是服务端问题,结果是因为升级了引擎,而没有升级NewUI这份文件导致的。解决方法如下: 下载GEE引擎包最新版,(可以…...
Linux LVS 通用命令行
LVS(Linux Virtual Server)是一种基于Linux操作系统的负载均衡技术,它通过网络负载均衡技术将客户端请求分发到多台实际服务器上,以提高系统的性能和可靠性。在LVS中,常用的命令行工具主要是ipvsadm,以及一…...
laravel .env环境变量原理
介绍 对于应用程序运行的环境来说,不同的环境有不同的配置通常是很有用的。Laravel 利用 Vance Lucas 的 PHP 库 DotEnv 使得此项功能的实现变得非常简单。当应用程序收到请求时,.env 文件中列出的所有变量将被加载到 PHP 的超级全局变量 $_ENV 中。 使…...

Nuxt.js 应用中的 app:templatesGenerated 事件钩子详解
title: Nuxt.js 应用中的 app:templatesGenerated 事件钩子详解 date: 2024/10/19 updated: 2024/10/19 author: cmdragon excerpt: app:templatesGenerated 是 Nuxt.js 的一个生命周期钩子,在模板编译到虚拟文件系统(Virtual File System, VFS)之后被调用。这个钩子允许…...

新时代AI桌宠:XGO Rider让你的办公室瞬间高大上
XGO Rider Luwu 智能打造了桌面双轮足式机器人 XGO Rider,这款全球首创的轮腿式桌面AI机器人,正在悄然改变我们的办公环境。它不仅是一个高科技玩具,更是一个能大幅提升工作效率和办公室科技感的智能助手。 XGO Rider 新时代“桌宠” micr…...
matlab的resample函数
MATLAB中resample函数用法 - 知乎 (zhihu.com) 主要是经常忘记了重采样时哪个是原采样率,哪个是重采样后的采样率(目标采样率)。这里记录下,目标采样率在前面!...

idea怎么取消自动打开项目
idea设置不自动打开项目 选择File>> Settings 选择Appearance & Behavior >> System Settings 去掉勾选的Reopen last project on startup...

蓄电池在线监测系统 各大UPS铅酸蓄电池监测 保障安全
蓄电池的不断普及,确实推动了蓄电池监控和管理技术的持续升级。蓄电池检测系统的研发为我们带来了诸多好处,这些好处主要体现在以下几个方面: 一、提高蓄电池管理的智能化水平 蓄电池检测系统通过实时监测蓄电池的电压、电流、温度等关键参数…...
Python基础Day13
1.字符串 count(x)统计x出现的次数 split(m,n)以括号内的m为分隔符,将字符串分开n1个字符串 strip删除两端的空格 lstrip删除左边空格 rstrip删除右边空格 join(m)以m为分隔符,将分割开的字符串组合成一个新的字符串 max()/min&am…...

有趣的css - 跷跷板加载动画
大家好,我是 Just,这里是「设计师工作日常」,今天分享的是使用 css 模拟一个跷跷板效果的加载动画效果。 《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面…...
与机器学习的邂逅--自适应神经网络结构的深度解析
引言 随着人工智能的发展,神经网络已成为许多应用领域的重要工具。自适应神经网络(Adaptive Neural Networks,ANN)因其出色的学习能力和灵活性,逐渐成为研究的热点。本文将详细探讨自适应神经网络的基本概念、工作原理…...

用python怎么实现办公自动化【批量生成出货清单】
👨💻个人主页:开发者-曼亿点 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 曼亿点 原创 👨💻 收录于专栏:…...

【Qt】控件——Qt输入类控件、常见的输入类控件、输入类控件的使用、Line Edit、Text Edit、Combo Box、Spin Box
文章目录 Qt5. Qt显示类控件Line EditText EditCombo BoxSpin BoxQDateTimeEditDialSlider Qt 5. Qt显示类控件 Line Edit QLineEdit 用于表示单行输入框。可以输入一段文本,但是不能换行。 属性说明text输入框中的文本inputMask输入内容格式约束maxLength最大长度…...

单臂交换知识点
要求:pc1要与pc2 ping通 命令: LSW1命令解析: system-view: 这个命令用于进入交换机的全局配置模式。在这个模式下,用户可以配置设备的全局设置。 vlan batch 10 20: 创建VLAN 10和VLAN 20。VLAN(虚拟局域网&#x…...

CentOS7 上安装GitLab的经历
一、安装必要的基础环境 1.安装依赖包 [rootgitlab-server ~]#yum install curl policycoreutils openssh-server openssh-clients postfix wget git patch -y [rootgitlab-server ~]# systemctl start postfix 2.配置yum源(由于网络问题,国内用户请使用清华大学…...
用python-pptx轻松统一调整演示文档配色方案
哈喽,大家好,我是木头左! 安装与准备:python-pptx入门 确保你的Python环境中已经安装了python-pptx库。如果没有,可以通过pip进行快速安装: pip install python-pptx此外,对于PPT文档的操作,了解一些基本的PowerPoint概念是有帮助的,比如幻灯片母版(Slide Master)…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...