Linux + Tensorrt8.2.1.8 + Pycuda安装过程踩坑

在服务器上配tensorrt遇到的坑,用来运行那个yolov5开源加速项目用的,在此记录。


1、安装pycuda,安装之前先确定你的cuda和环境变量已经配置好了。

比如我的cuda位置如下

/usr/local/cuda-11.4/

 查看环境变量

$ vim ~/.bashrc

里面应该有这么几行

export PATH="/usr/local/cuda-11.4/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH"

 这里还要说的一点是有关linux环境变量配置的问题,因为我之前对这里不熟悉十分小白所以踩了坑,

1、使用 $env 查看环境变量之后,你可以直接使用 $export PATH_NAME="/your/path" 这种命令添加环境变量,再次使用 $env 能看到PATH_NAME已经添加在环境变量里了,但只有当前窗口才会生效,而且是单次生效。意思就是如果你退出当前shell,再重新进入(比如你又重新开了一个tmux或者screen的window,或者直接全部退出再scp回来),刚才添加的PATH_NAME会在env里消失不见。

2、每次重新打开的窗口,系统都会执行~/.bashrc里的命令,所以你只要把刚才的$export命令添加到bashrc里就行了,保存修改之后是不会在当前窗口下生效的,如果想省去退出重进的麻烦,就直接$source ~/.bashrc,就可以执行上次的更改。

确定配置好了之后,执行

$pip install pycuda -i http://pypi.doubanio.com/simple/

基本都会报一个错误 Building wheel for pycuda (PEP 517) ... error

那就使用

$pip install pycuda  -i http://pypi.doubanio.com/simple/ --no-binary :all:

如果这条还不管用,那就去试一下这篇博主的方法,我看到了但是没有尝试

安装 pycuda 出现 PEP517 的错误_blueblood7的专栏-CSDN博客_pep517卡住执行:pip install pycuda出现:Building wheel for pycuda (PEP 517) ... error使用:pip install pycuda --no-binary :all:不解决问题。从源码编译,解决问题。1、下载pycuda-2021.1.tar.gz2、tar xfz pycuda-2021.1.tar.gz3、cd pycuda-2021.14、python3configure.py --cuda-root=/usr/lo..https://blog.csdn.net/blueblood7/article/details/117419608


假设你的pycuda已经安装success了,开始安装tensorrt

首先还是要确保一个点,就是你的cuda已经配置了对应版本号的cudnn了

有关cudnn的获取位置在这里

NVIDIA cuDNN | NVIDIA Developerhttps://developer.nvidia.cn/cudnn进去之后选择号版本,比如说我是cuda11.4

Linux + Tensorrt8.2.1.8 + Pycuda安装过程踩坑_第1张图片

 Linux + Tensorrt8.2.1.8 + Pycuda安装过程踩坑_第2张图片

 下载完之后需要把文件类型改成.tgz ,然后使用tar -zxvf file.tgz命令解压。

然后使用下面的两个命令将cudnn的内容复制到cuda里

$sudo cp -f  ../cuda/include/* /usr/local/cuda-11.4/include
$sudo cp -f ../cuda/lib64/*   /usr/local/cuda-11.4/lib64

 接下来就是下载tensorrt,链接在这里

NVIDIA TensorRT | NVIDIA Developerhttps://developer.nvidia.cn/tensorrt这里要注意两个点

1、tensorrt的版本要与cuda的版本完全对应不然就会报错

2、低版本的cuda,安装方式基本都是低版本的python。python3.8是运行不了cp37的whl的

把tensorrt下载下来之后解压,然后执行下面的步骤

$cd /TensorRT-8.2.1.8/python

$pip3 install  tensorrt-8.2.1.8-cp38-none-linux_x86_64.whl

$vim ~/.bashrc

在最后写入

$source ~/.bashrc

export LD_LIBRARY_PATH=/解压安装包的位置/TensorRT-8.2.1.8/lib:$LD_LIBRARY_PATH

$cd ..

$pip3 install uff/uff-0.6.9-py2.py3-none-any.whl 

$pip3 install graphsurgeon/graphsurgeon-0.4.5-py2.py3-none-any.whl

$pip3 install onnx_graphsurgeon/onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl

测试一下 

$python

>>import tensorrt 

 没报错就可以啦!

希望有帮助到你,祝你生活愉快!

你可能感兴趣的:(linux,cuda,nvidia,python)