原文地址:ZhouJianGuo|个人博客https://www.zhoujianguo.ltd/#/fore/article?id=134
本文主要记录一下,windows+Anaconda配置TensorRT的教程,通过此教程配置完TensorRT后,可以在Anaconda的虚拟环境内使用TensorRT
注意:本文背景环境为Windows 10 和 Anaconda已经安装好,若没有安装好,可以参考之前的一篇文章 点击这里进行跳转,里面记录了Anaconda的相关教程
一、创建虚拟环境
进入conda命令控制台,进入方法如下图所示
输入以下指令
conda create -n tensorrt python=3.8
输入y即可,输入以下指令进入创建好的虚拟环境
activate tensorrt
二、安装CudaToolKit
前往官网下载cudatoolkit,点击这里进行跳转,选择合适的版本后下载,建议下载local包,一步到位,本教程的环境是windows 10,选择结果如下图所示
下载完成后全程next即可
,安装完成以后,可以输入以下指令以检测cudatoolkit是否可用
nvcc -V
三、安装CUDNN
前往官网下载cudnn安装包点击这里进行跳转,注意要选择与cudatoolkit版本相兼容的cudnn,这里我们选择cudnn8.2.1对应的windows版本,如下图所示:
下载解压后可以看到有lib include bin三个子目录,如下图所示,将这三个子文件夹直接复制
复制完毕后,打开cudatoolkit的安装目录,例如:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA,然后直接对应版本的cudatoolkit文件目录下粘贴即可,如下图所示
还需要将cudatoolkit目录下的bin、include和lib路径添加到环境变量中。右键桌面的此电脑,点击左侧最下方的高级系统设置,如下图所示
选择环境变量,如下图所示
点击系统环境变量的path,点击新建,将刚才复制的路径粘贴进来,如下图所示(注意:默认bin目录已经是系统环境变量的,如下图第一条所示,如果已经有的话就不要再添加bin的路径了)
四、安装TensorRT
4.1 下载TensorRT
首先,前往官网下载TensorRT点击这里进行跳转,这一步需要注册为英伟达开发者用户,这里就不再过多介绍了,登录后会出现不同版本的tensorrt资源,如下图所示。
本文使用的是tensorrt版本为8,点击展开,根据系统版本以及cudatoolkit版本选择对应的资源,根据本文背景环境,选择的版本如下图所示:
4.2 配置TensorRT系统环境变量
下载完毕后,进行解压,并且进入lib子文件夹,如下图所示,将路径复制下来,例如,C:\Users\admin\Downloads\Compressed\TensorRT-8.2.1.8\lib
依次确定保存出来即可。
4.3 安装TensorRT依赖
进入刚才解压后的TensorRT文件夹内的python子目录,根据python版本选择好对用的whl文件,如下图所示。
重新打开conda控制台(一定要重新打开,环境变量发生改动后,cmd并不会刷新!!),重新进入tensorrt的虚拟环境。
activate tensorrt
拼接路径 C:\Users\admin\Downloads\Compressed\TensorRT-8.2.1.8\python\tensorrt-8.2.1.8-cp38-none-win_amd64.whl,输入以下指令并执行,执行结果如下图所示。
pip install C:\Users\admin\Downloads\Compressed\TensorRT-8.2.1.8\python\tensorrt-8.2.1.8-cp38-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+cuda115-cp38-cp38-win_amd64.whl
安装完成后会提示successfully installed的信息
六、测试TensorRT 样例
tensorrt官方提供了可供测试的样例,进入刚才下载好的tensorrt文件夹下面的samples\python\目录下,这里我们选择一个手写数字识别的示例,如下图所示。
拷贝路径,在tensorrt的虚拟环境下,cd 此路径,然后输入如下指令
python sample.py
此时会进行训练,并且在训练结束后给出相应的预测结果,如下图所示,到此为止,tensorrt已经彻底安装完毕
七、结语
可能是因为使用PC配置tensorrt的人比较少,再加上anaconda环境下,使用的人更加少之又少,其实安装教程,英伟达有参考文档的(在tensorrt安装包解压目录下的doc子目录,纯英文版),但是里面并没有提到anaconda。这次配置环境后我才明白anaconda和操作系统的环境并不是上下层关系,而是并存关系,即操作系统存在的依赖,虚拟环境都会有,但是反之则不是。
八、问题笔记
不要下载8.3.1 for cuda 11.5版本的cudnn,有bug,如下图所示,百度了一下,好像有人也遇到了问题