tensorRT安装详解(linux与windows)

目录 tensorRT介绍 前置准备 安装cuda与cudnn 安装理论支持 不同系统下的具体安装  linux windows 安装验证 cuda版本查看 TensorRT安装 下载安装包 linux安装包下载 wi

目录

tensorRT介绍

前置准备

安装cuda与cudnn

安装理论支持

不同系统下的具体安装 

linux

windows

安装验证

cuda版本查看

TensorRT安装

下载安装包

linux安装包下载

windows安装包下载

linux安装

安装

安装验证

windows安装

安装

环境变量配置

安装验证


tensorRT介绍

有关tensorRT的介绍见

TensorRT简介-CSDN博客

前置准备

安装cuda与cudnn

安装理论支持

cuda的安装步骤比较统一,无论使用什么系统,其原理都是一样的

  • 使用nvidia-smi查看nvidia驱动支持的最高cuda版本
  • 进入官网下载对应的cuda安装包
  • 进行安装
  • 安装结束后修改环境变量(目的是让系统找到cuda里的头文件和lib文件以及nvcc)
    • 如果是linux系统,并且使用默认安装,则会安装/usr/local下,这个路径不用设置,系统会识别,而如果是自定义安装,则需要修改.bashrc配置文件配置环境变量
    • 如果是windows系统,编辑系统环境变量即可

cudnn的安装更加简单,因为我们一般是在编程的时候引用cudnn中的库文件,因此

  • 只需下载cudnn的tar包解压之后
  • 将cudnn中的头文件内容拷贝到cuda文件目录的头文件目录
  • 将cudnn中的库文件内容拷贝到cuda文件目录下的库文件目录

不同系统下的具体安装 

以下是在不同系统下安装cuda与cudnn的操作步骤

linux

Linux下安装cuda和对应版本的cudnn_linux怎么在自己的环境中安装cuda和cudnn-CSDN博客

如果要安装在非root用户安装参考这篇:

Linux 服务器下非root用户安装CUDA完整流程(多次踩雷经验总结)_linux cuda安装-CSDN博客

windows

windows安装cuda与cudnn-CSDN博客

安装验证

cuda版本查看

linux与windows均可使用以下命令查看cuda版本

nvcc -V

TensorRT安装

下载安装包

进官网查看对应cuda版本的tensorRT

TensorRT Download | NVIDIA Developer

官网页面打开如下所示, 每个版本的tensorRT都有对应操作系统与cuda版本的说明

注意,win11只有tensorRT10支持

linux安装包下载

linux下我们以安装tensorRT8为例,如下图所示 

  • 第一个红色框是cuda11(如图可支持cuda11.0、11.2、11.3、11.4、11.5、11.6、11.7)对应的安装包
  • 第二个红色方框是cuda12对应的安装包
  • 找到自己对应cuda版本的安装包即可,建议下载tar包,安装比较方便

windows安装包下载

由于windows11下只有tensorRT10支持,如下图所示,仍旧找到自己的安装包下载(如果是windows10,也可安装其余版本,只要版本对应即可)

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)

TensorRT安装部署指南(Windows10) - 知乎 (zhihu)

发布者:admin,转转请注明出处:http://www.yc00.com/web/1733930066a3732191.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信