在官网挑选合适版本

官网:

https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html

在这里插入图片描述

需要注意的是CUDA版本的选择,pip安装即可。如果安装paddle的版本和CUDA版本不对应,这个时候不会使用GPU(甚至都不会报错),直接使用的CPU。
在这里插入图片描述

验证安装

进入python交互环境,输入:

import paddle
gpu_available = paddle.device.is_compiled_with_cuda()
print("GPU available:", gpu_available)
print(paddle.utils.run_check())

当 paddle.device.is_compiled_with_cuda()是false的时候一般是paddle-gpu版本没安装对(前提是CUDA已经正常安装)
如果成功打印以下内容,则说明安装成功:
在这里插入图片描述

错误处理

错误一:如果出现错误,不必惊慌,报错内容多为:

PreconditionNotMetError: Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion.
      [Hint: cudnn_dso_handle should not be null.] (at /paddle/paddle/phi/backends/dynload/cudnn.cc:64)
      [operator < fill_constant > error]

在这里插入图片描述

一般多是没有将cuda相关内容导入到共享库所致。

解决方法

  1. 找到libcudnn.solibcublas.so的地址
locate libcudnn.so
locate libcublas.so

locate指令使用前可以使用 updatedb来更新索引库,也可以用find指令找对应文件。
2. 进入/usr/lib,将 libcudnn.solibcublas.so 软链接到目录。

cd /usr/lib
sudo ln -s /{path}/cudnn/lib/libcudnn.so.9  libcudnn.so
sudo ln -s /{path}/cublas/lib/libcublas.so.12 libcublas.so

path是对应parent路径,笔者这里的path为
/home/user1/miniconda3/envs/ai/lib/python3.11/site-packages/nvidia
3.对应的路径LD_LIBRARY_PATH加入到环境变量,让paddle能识别到:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user1/miniconda3/envs/ai/lib/python3.11/site-packages/nvidia/cudnn/lib/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user1/miniconda3/envs/ai/lib/python3.11/site-packages/nvidia/cublas/lib/

4.重新执行 验证安装 步骤,成功。

错误二:

/home/XXXXXX/anaconda3/bin/…/lib/libstdc++.so.6: version ‘GLIBCXX_3.4.30’ not found (required by …

解决方案:

官方的另一个坑,对应conda环境下输入:

conda install -c conda-forge gcc=12.2.0

参考解决方案:https://github.com/PaddlePaddle/Paddle/issues/56047

错误三:Paddle-GPU 2.6.2/2.6.1 + PaddleOCR 2.9.1内存使用错误(内存泄漏)

应该说是遇到的问题,在安装完毕后,安装paddleOCR进行ocr识别,能够完成识别。但是显存使用很高,我使用PP-OCRv4模型(14M+),并且OCR识别2M左右的PDF论文,加上paddle框架加载到显存,一共使用了5G+的显存(太夸张了),并且如果不杀掉进程无法释放显存。后续可能会导致程序挂掉的可能。
同样有P友遇到了这个问题:https://github.com/PaddlePaddle/PaddleOCR/issues/14203

解决方案

安装最新版paddle (3.0-beta) 解决问题
在这里插入图片描述
最后显存使用从5G-7G降到了800M~1.5G左右的占用,同时也能释放掉显存。

错误四 - paddlepaddle和paddlepaddle-gpu版本不匹配

由于paddle-gpu=3.0b,前文中安装的paddle是2.6版本,如果搭配使用可能会导致报错:
在这里插入图片描述
而且报错的方式很奇怪,我是使用指令将这些包安装在一个lib文件夹中:

python3 -m pip install -r requirements.txt --upgrade --no-warn-conflicts --target ./cache/lib

从文件夹中读取包然后运行,就会出现报错。
如果使用pip单个安装这些包的时候,不安装到某个文件夹就没报错(没找到原因)

解决方法

paddle-gpu=3.0b 搭配 paddle=3.0b
在这里插入图片描述
参考:https://github.com/PaddlePaddle/PaddleOCR/issues/13327

错误五 :报错:AssertionError: …/distutils/core.pyc

在这里插入图片描述

解决方案

重新安装setuptools工具:

pip install setuptools==58.0.0

参考链接

最后

paddle-gpu的使用需要注意cuda和cudnn版本,如果是CPU版本可以直接安装使用。
当我们同时安装了GPU和CPU版本paddle的时候,需要如果安装的GPU版本和CUDA版本不符合,会直接使用CPU,并且不会报错使用GPU错误。

参考:
https://blog.csdn.net/qq451882471/article/details/106967942
https://blog.csdn.net/qq_37085158/article/details/132598829

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐