目录
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版本
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
复制代码 添加完路径后使配置文件收效
安装验证
进入到 /usr/local/TensorRT-8.5.3.1/samples/sampleOnnxMNIST路径下,实行
进入/usr/local/TensorRT-8.5.3.1/bin目录,运行可实行文件sample_onnx_mnist,如果编译和运行过程都没有问题则说明tensorrt安装乐成,运行效果如下
windows安装
安装
起首找到自己cuda的安装路径,打开cmd下令行窗口,输入
如果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下令窗口,输入
如果显示以下资助信息,说明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)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |