Windows+conda+TensorRT

Windows+Anaconda配置TensorRT的教程,通过此教程配置完TensorRT后,可以在Anaconda的虚拟环境内使用TensorRT

本文环境为win10 +conda+cuda11.2

利用conda 创建一个虚拟环境yolov8,

conda create -n yolov8 python=3.9

安装CudaToolKit、安装CUDNN就不在叙述,

安装TensorRT

首先,前往官网下载TensorRT点击这里进行跳转,这一步需要注册为英伟达开发者用户,这里就不再过多介绍了,登录后会出现不同版本的tensorrt资源,如下图所示。
在这里插入图片描述本文使用的是tensorrt版本为8,点击展开,根据系统版本以及cudatoolkit版本选择对应的资源,根据本文背景环境,选择的版本如下图所示:
在这里插入图片描述

配置TensorRT系统环境变量

下载完毕后,进行解压,并且进入lib子文件夹,如下图所示,将路径复制下来,例如,C:\Program Files\TensorRT-8.5.3.1\lib
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

可能出现的问题

import tensorrt时显示找不到nvinfer.dll或者nvparsers.dll等
解决办法:nvinfer.dll或者nvparsers.dll等dll文件时我们解压tensorrt压缩包时复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib文件夹下面的文件,因此只需要将这个文件夹地址添加到系统的环境变量Path中即可。

安装TensorRT依赖,进入刚才解压后的TensorRT文件夹内的python子目录,根据python版本选择好对用的whl文件,如下图所示,利用pip install进行安装(先激活虚拟环境)
在这里插入图片描述pip install C:\Program Files\TensorRT-8.5.3.1\python\tensorrt-8.5.3.1-cp39-none-win_amd64.whl
安装完成后会出现successfully的字样,到这里tensorrt已经安装结束

安装Pycuda

pycuda依赖是封装好的cuda api接口,可以用来申请显存等操作。

前往下载合适的版本,点击这里跳转,如下图所示。

进入下载的位置,拼接好路径,例如:c:\users\admin\downloads\pycuda-2021.1+cuda115-cp38-cp38-win_amd64.whl

进入tensorrt虚拟环境后,输入以下指令安装pycuda

pip install c:\users\admin\downloads\pycuda-2021.1+cuda114-cp39-cp39-win_amd64.whll

在这里插入图片描述

安装完成后会提示successfully installed的信息

测试TensorRT 样例

tensorrt官方提供了可供测试的样例,进入刚才下载好的tensorrt文件夹下面的samples\python\目录下,这里我们选择一个手写数字识别的示例,如下图所示。
在这里插入图片描述

python sample.py

此时会进行训练,并且在训练结束后给出相应的预测结果,如下图所示,到此为止,tensorrt已经彻底安装完毕
在这里插入图片描述可能会出现的问题:

Traceback (most recent call last):
  File "C:\Program Files\TensorRT-8.5.3.1\samples\python\network_api_pytorch_mnist\sample.py", line 33, in <module>
    import tensorrt as trt
  File "C:\Users\16786\.conda\envs\yolov8\lib\site-packages\tensorrt\__init__.py", line 129, in <module>
    ctypes.CDLL(find_lib(lib))
  File "C:\Users\16786\.conda\envs\yolov8\lib\ctypes\__init__.py", line 382, in __init__
    self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin\cublas64_11.dll' (or one of its dependencies). Try using the full path with constructor syntax.

这种情况具体原因应该是不兼容吧,
解决方法是将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin目录下的cublas64_12.dll 复制一份,然后命名为cublas64_11.dll即可,遇到其他类似的问题,依然是复制改名。
在这里插入图片描述

FileNotFoundError: Could not find module 'C:\Program Files\TensorRT-8.5.3.1\bin\cublas64_11.dll' (or one of its dependencies). Try using the full path with constructor syntax. 

是因为Pycuda版本不对

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值