tensorRT的完整安装以及常见错误 export failure: [WinError 127] 找不到指定的程序。

安装CUDA

查看本机适配的CUDA 版本
要想安装TensorRT必须要先安装CUDA和cudnn,那么首先需要去查看自己电脑的英伟达驱动程序程序,位置如下:

NVIDIA控制面板->帮助->系统信息->组件,如下图所示本机适配CUDA版本为11.7

在window桌面右击打开控制面板
在这里插入图片描述

在这里插入图片描述
下载CUDA安装包
通过关键字 cuda 11.7 download 在谷歌上搜索下载链接,进入CUDA 安装包的下载地址如下:

CUDA Toolkit 11.7 Downloads | NVIDIA Developer

按照机器适配版本,下载好安装包;如果没有帐户,需要先进行注册
在这里插入图片描述
下载cuDNN安装包
进入英伟达官方网站,选择和自己适配的cuDNN版本,地址如下:

cuDNN Download | NVIDIA Developer

如果没有帐户,需要先进行注册
在这里插入图片描述
下载TensorRT安装包
进入英伟达官网,选择和自己机器适配的TensorRT,地址如下:

NVIDIA TensorRT 8.x Download | NVIDIA Developer

在这里插入图片描述
流程化安装软件包
(1)安装CUDA
双击exe文件解压
在这里插入图片描述

NVIDIA安装->仅需一路点击确下一步然后结束

安装成功的标志:
在这里插入图片描述

安装cuDNN

解压与拷贝
在这里插入图片描述
因cuDNN属于是CUDA的一个补丁包,因此不要安装,仅需要将上述三个bin\include\lib文件夹中的相关文件拷贝到CUDA安装位置的bin,include,lib\x64文件夹中。

本电脑默认CUDA路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6

验证

分别运行如下两个命令,若均为pass验证通过,则表示安装成功。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\demo_suite>bandwidthTest.exe

在这里插入图片描述

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\demo_suite>deviceQuery.exe

在这里插入图片描述

安装TensorRT

解压安装包后得到如下所示图:
在这里插入图片描述

从官网下载tensorrt window版本,安装完成tensorrt以后再pip install python对应的whl文件。

pip install TensorRT-8.6.1.6\python\tensorrt_dispatch-8.6.1-cp37-none-win_amd64.whl
pip install TensorRT-8.6.1.6\python\tensorrt_lean-8.6.1-cp37-none-win_amd64.whl
pip install TensorRT-8.6.1.6\python\tensorrt-8.6.1-cp37-none-win_amd64.whl
pip install TensorRT-8.6.1.6\graphsurgeon\graphsurgeon-0.4.6-py2.py3-none-any.whl
pip install TensorRT-8.6.1.6\onnx_graphsurgeon\onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl

在python中执行import tensorrt as trt代码会出现如下错误

错误1:

export failure: [WinError 127] 找不到指定的程序。

我们需要把D:\tensorrt\TensorRT-8.6.1.6\lib对应的目录放到window环境变量即可。
在这里插入图片描述

错误2:还是同样的错误,参考链接2,把trt和torch的顺序互调,先import tensorrt,问题解决。产生该问题的原因是windows安装的cuda的版本和pytorch安装的cuda版本不一致。我的windows安装的cuda版本是11.7,而pytorch安装的版本是11.3,当更新pytorch的本到11.7后,问题便可以解决。

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
@feiyuhuahuo I think your OSError problem is due to the different cuda version of your C:\Users\feiyuhuahuo\python_base\lib\site-packages\torch\lib\ and C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.x.
When your import tensorrt, it will load soma cuda dll from NVIDIA GPU Computing Toolkit, while the torch load dll from torch/lib, you can check this.

While even if I hide the NVIDIA GPU Computing Toolkit path from system and add torch/lib in the PATH to let the tensorrt load dll from torch/lib, I also meet some problems.

Don't know if this problem only happens on windows.
import tensorrt as trt
import torch

在这里插入图片描述

问题思考

至此,tensorrt已经顺利安装,最大的心得是
cuda的版本,cudnn的版本,tensorrt的版本,pytorch的版本一定要一致或者相互兼容,否则会有各种奇奇怪怪的问题。

软件 版本
cuda cuda_11.7.0_516.01_windows.exe
cudnn cudnn-windows-x86_64-8.9.1.23_cuda11-archive.zip
tensorrt TensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8.zip
pytorch 1.13.1+cu117

参考文章

  1. https://blog.csdn.net/caobin_cumt/article/details/125579033

  2. https://github.com/NVIDIA/TensorRT/issues/1693

猜你喜欢

转载自blog.csdn.net/zhuguiqin1/article/details/130521468