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的版本一定要一致或者相互兼容,否则会有各种奇奇怪怪的问题。

软件版本
cudacuda_11.7.0_516.01_windows.exe
cudnncudnn-windows-x86_64-8.9.1.23_cuda11-archive.zip
tensorrtTensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8.zip
pytorch1.13.1+cu117

参考文章

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

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

### 导入 `torchtext` 报错问题解决方案 当在 Windows 上导入 `torchtext` 时遇到 `OSError: [WinError 127] 不到指定程序` 的错误,这通常是由以下几个原因之一引起的: - **环境变量配置不当**:某些必要的动态链接库未被正确识别或路径缺失[^1]。 - **版本兼容性问题**:较高版本的 `torchtext` 可能存在与当前环境中其他组件不兼容的情况[^2]。 - **CUDA 版本冲突**:如果使用 GPU 加速,则 PyTorch 和 CUDA 驱动之间的版本差异也可能引发此类错误[^5]。 针对上述情况,可以采取如下措施来解决问题: #### 方法一:调整 `torchtext` 版本 对于由版本过高引起的问题,建议先卸载现有的 `torchtext` 并安装一个更稳定的较低版本。具体操作命令如下所示: ```bash pip uninstall torchtext pip install torchtext==0.9.0 ``` #### 方法二:检查并修正环境变量设置 确保所有必需的 DLL 文件都能通过系统的 PATH 环境变量到。可以通过以下方式验证和修改环境变量: 1. 查看已安装软件及其依赖项的位置; 2. 将这些位置添加到系统的 PATH 中; 3. 重启开发工具使更改生效。 #### 方法三:保持 PyTorch 和 CUDA 版本一致性 确认所使用的 PyTorch 安装包与其对应的 CUDA 版本相匹配非常重要。如果不一致,可能会导致加载失败或其他未知行为。例如,若系统中安装的是 CUDA 11.8,则应选择支持该版本 CUDA 的 PyTorch 发行版。 #### 示例代码片段展示如何安全地引入所需模块 为了防止潜在的顺序依赖问题,在脚本顶部显式声明所有外部依赖关系是一个良好的实践。下面给出了一段示范性的 Python 脚本头部部分: ```python # Ensure TensorRT is imported before any other libraries that depend on it. try: import tensorrt as trt except ImportError: pass import torch from torchtext.datasets import AG_NEWS from torchtext.data.utils import get_tokenizer ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值