tensorRT安装详解(linux与windows)

诗林  金牌会员 | 2024-11-22 12:55:00 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 516|帖子 516|积分 1548

目录
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版本
  1. 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文件
  1. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT-8.5.3.1/lib
  2. export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/TensorRT-8.5.3.1/include
  3. export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/TensorRT-8.5.3.1/include
复制代码
 添加完路径后使配置文件收效
  1. source ~/.bashrc
复制代码
安装验证

进入到 /usr/local/TensorRT-8.5.3.1/samples/sampleOnnxMNIST路径下,实行
  1. sudo make
复制代码

进入/usr/local/TensorRT-8.5.3.1/bin目录,运行可实行文件sample_onnx_mnist,如果编译和运行过程都没有问题则说明tensorrt安装乐成,运行效果如下
 

windows安装

安装

起首找到自己cuda的安装路径,打开cmd下令行窗口,输入
  1. which nvcc
复制代码
如果cuda安装乐成,会显示cuda的安装路径
  1. /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下令窗口,输入
  1. trtexec --help
复制代码
如果显示以下资助信息,说明TensorRT中的trtexec步伐可用,否则检查trtexec步伐(TensorRT解压安装包的bin目录下)的情况变量是否配置精确

接下来代码验证trtexec是否可乐成实行,打开python,写下如下python代码,更多代码细节见
PyTorch模型转换ONNX 入门-CSDN博客
  1. import torch
  2. import torchvision.models as models
  3. import onnx
  4. import onnxruntime
  5. # 加载 PyTorch 模型
  6. model = models.resnet18(pretrained=True)
  7. model.eval()
  8. # 定义输入和输出张量的名称和形状
  9. input_names = ["input"]
  10. output_names = ["output"]
  11. batch_size = 1
  12. input_shape = (batch_size, 3, 224, 224)
  13. output_shape = (batch_size, 1000)
  14. # 将 PyTorch 模型转换为 ONNX 格式
  15. torch.onnx.export(
  16.     model,  # 要转换的 PyTorch 模型
  17.     torch.randn(input_shape),  # 模型输入的随机张量
  18.     "resnet18.onnx",  # 保存的 ONNX 模型的文件名
  19.     input_names=input_names,  # 输入张量的名称
  20.     output_names=output_names,  # 输出张量的名称
  21.     dynamic_axes={input_names[0]: {0: "batch_size"}, output_names[0]: {0: "batch_size"}}  # 动态轴,即输入和输出张量可以具有不同的批次大小
  22. )
  23. # 加载 ONNX 模型
  24. onnx_model = onnx.load("resnet18.onnx")
  25. onnx_model_graph = onnx_model.graph
  26. onnx_session = onnxruntime.InferenceSession(onnx_model.SerializeToString())
  27. # 使用随机张量测试 ONNX 模型
  28. x = torch.randn(input_shape).numpy()
  29. onnx_output = onnx_session.run(output_names, {input_names[0]: x})[0]
  30. print(f"PyTorch output: {model(torch.from_numpy(x)).detach().numpy()[0, :5]}")
  31. print(f"ONNX output: {onnx_output[0, :5]}")
复制代码
如果代码运行不乐成,查看pytorch是否安装、onnx模块是否安装、onnxruntime模块是否安装
如果代码运行乐成,会在本地输出一个mymodel.onnx文件
接下来打开该文件所在路径,打开cmd,输入
  1. trtexec --onnx=mymodel.onnx --saveEngine=model.trt
复制代码
如果运行乐成,说明TensorRT安装乐成

如果这里运行失败,检查情况变量是否配置精确 

参考
ubuntu20.04 安装TensorRT c++库 - Wangtn - 博客园 (cnblogs.com)
TensorRT安装部署指南(Windows10) - 知乎 (zhihu.com)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

诗林

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表