参考链接:深度学习环境配置 Ubuntu 18.04 + Anaconda + CUDA + Cudnn + Pytorch 【亲测可用】
输入nvidia-smi后,没有正常显示
解决办法:电脑重启
sudo dpkg -i libcudnn8-dev_8.2.1.32-1+cuda11.3_amd64.deb(正在读取数据库 … 系统当前共安装有 239332 个文件和目录。)
正准备解包 libcudnn8-dev_8.2.1.32-1+cuda11.3_amd64.deb …
update-alternatives: 正在移除手动选择的候选项 - 切换 libcudnn 到自动模式
正在将 libcudnn8-dev (8.2.1.32-1+cuda11.3) 解包到 (8.1.1.33-1+cuda11.2) 上 …
dpkg: 依赖关系问题使得 libcudnn8-dev 的配置工作不能继续:
libcudnn8-dev 依赖于 libcudnn8 (= 8.2.1.32-1+cuda11.3);然而:
系统中 libcudnn8 的版本为 8.1.1.33-1+cuda11.2。
dpkg: 处理软件包 libcudnn8-dev (–install)时出错:
依赖关系问题 - 仍未被配置
在处理时有错误发生:
libcudnn8-dev
按照顺序依次安装,这样才不会报错。
注意修改指令中的对应的版本信息。
sudo dpkg -i libcudnn8_8.2.1.32-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8-dev_8.2.1.32-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8-samples_8.2.1.32-1+cuda11.3_amd64.deb
原文命令(activate alientorch)不可用,需要采用source activate pytorch
格式:source+activate+环境名称
原因:anaconda路径没添加
解决办法:
1.打开bashrc文件
sudo gedit ~/.bashrc
2.在任意空行,添加以下一行命令,保存
export PATH=~/anaconda3/bin:$PATH
3.更新配置
source ~/.bashrc
不使用conda安装,使用pip安装
说明: 使用cuda的就是GPU版本的pytorch,没使用cuda的就是CPU版本的pytorch
TensorRT版本需要和cuda相对应,在安装TensorRT前需要安装好cuda、cudnn,在这里我们以cuda11.3为例。如果你不确定你的cuda版本,可通过以下命令查看cuda版本
:
nvcc -V
pip3 install pycuda -i https://mirrors.aliyun.com/pypi/simple
下载cuda11.3对应TensorRT版本(建议下载tar版本),下载地址:https://developer.nvidia.com/nvidia-tensorrt-8x-download
tar -zxvf TensorRT-8.4.0.6.Linux.x86_64-gnu.cuda-11.6.cudnn8.3.tar.gz
vim ~/.bashrc # 或者gedit ~/.bashrc
export LD_LIBRARY_PATH=/home/csj/TensorRT-8.4.0.6/lib:$LD_LIBRARY_PATH # 改成你自己的路径
source ~/.bashrc
cd TensorRT-8.4.0.6/python/
由于我python版本是3.8.8,故需要选择cp38的文件进行安装。
pip3 install tensorrt-8.4.0.6-cp38-none-linux_x86_64.whl # 与对应的python版本对应
cd ../uff/
sudo pip3 install uff-0.6.9-py2.py3-none-any.whl
cd ../graphsurgeon/
sudo pip3 install onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl
进入python环境。输入测试TensorRT 安装是否成功的代码:
import tensorrt
tensorrt.__version__
安装成功示例:
如果出现报错:
报错1——如果报错找不到tensorrt模块,说明tensorrt没有在该环境下安装成功。
原因及解决办法: 官网使用sudo pip方式安装,是直接安装在了系统环境下。但是许多人是使用anaconda下面的虚拟环境的,一定不要用sudo安装,否则该环境下是找不到的tensorrt的。
报错2——如果报类似 libnvinfer.so.7: cannot open shared object file: No such file or directory
这种错误,说明环境变量设置没有起作用或者设置无效。
原因及解决办法: 环境变量未起作用。尝试其他环境变量设置的写法进行设置。打开环境变量文件、换写法、更新环境变量文件。
打开环境变量文件:
vim ~/.bashrc # 或者gedit ~/.bashrc
写法1:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<TensorRT-${version}/lib> # 官网的设置,如果没有效果可以尝试后面的设置方法
写法2:
export LD_LIBRARY_PATH=<TensorRT-${version}/lib>:$LD_LIBRARY_PATH
写法3:
export LD_LIBRARY_PATH=/home/csj/TensorRT-8.4.0.6/lib:$LD_LIBRARY_PATH # 改成你自己的路径
更新环境变量文件:
source ~/.bashrc