centos8 stream下安装cuda、Nvidia驱动、cnDnn、paddlepaddle-gpu、paddleocr过程(自用 GTX A4000显卡)

需要的版本在paddlepaddle官网可以看到。
https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html
费了几天时间,花了很多功夫,最后还是摸索出来了,记录如下,自用。
记录有些乱,在意请勿继续阅读。

A4000我安装的cuda为11.2。
CUDA 工具包 10.2 配合 cuDNN v7.6.5, 如需使用 PaddleTensorRT 推理,需配合 TensorRT7.0.0.11
CUDA 工具包 11.2 配合 cuDNN v8.2.1, 如需使用 PaddleTensorRT 推理,需配合 TensorRT8.0.3.4
CUDA 工具包 11.6 配合 cuDNN v8.4.0, 如需使用 PaddleTensorRT 推理,需配合 TensorRT8.4.0.6
CUDA 工具包 11.7 配合 cuDNN v8.4.1, 如需使用 PaddleTensorRT 推理,需配合 TensorRT8.4.2.4

1 首先确认内核版本和发行版本,再确认显卡型号
rpm -qa|grep kernel
删除多余内核
yum remove -y kernel-core-4.18.0-358.el8.x86_64
yum remove -y kernel-4.18.0-358.el8.x86_64
安装编译相关东西
sudo yum install -y gcc gcc-c++ kernel-devel kernel-headers epel-release
yum install -y dkms
yum install pciutils
centos8如果是服务器最小化安装的话,还需要安装:
sudo yum install libX11
sudo yum install libXext
默认没有安装locate命令
解决方案:
1、运行下面命令安装locate:
yum install mlocate
2、执行updatedb命令更新文件数据库
updatedb
查看显卡信息
lspci | grep -i nvidia

禁用nouveau驱动

(1)在grub 启动中禁用nouveau,
nano /etc/default/grub
'GRUB_CMDLINE_LINUX’中添加 rd.driver.blacklist=nouveau nouveau.modeset=0

然后更新grub:grub2-mkconfig -o /boot/grub2/grub.cfg

(2)在/usr/lib/modprobe.d/dist-blacklist.conf 或/etc/modprobe.d/blacklist.conf中末尾添加blacklist。如下是/usr/lib/modprobe.d/dist-blacklist.conf的原有内容

nano /usr/lib/modprobe.d/dist-blacklist.conf

在末尾添加:

blacklist nouveau

保存

(3)备份 initramfs nouveau image镜像

mv /boot/initramfs-(uname−r).img/boot/initramfs−(uname -r).img /boot/initramfs-(unamer).img/boot/initramfs(uname -r).img.bak

(4)使用 dracut重新建立 initramfs

dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

(5)reboot 重启,然后lsmod | grep nouveau 确认nouveau没有被加载

参考资料:

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

下载地址:

https://www.nvidia.cn/Download/index.aspx?lang=cn

https://cn.download.nvidia.com/XFree86/Linux-x86_64/525.89.02/NVIDIA-Linux-x86_64-525.89.02.run

https://developer.nvidia.com/cuda-downloads

https://developer.nvidia.com/cuda-toolkit-archive

https://developer.nvidia.com/rdp/cudnn-archive

安装驱动:

./NVIDIA-Linux-x86_64-418.113.run

验证 nvidia-smi

然后重启 reboot下,继续安装

安装cuda

./cuda_11.2.2_460.32.03_linux.run

CUDA导出为环境变量

nano /etc/profile

nano ~/.bashrc

增加:

export PATH=/usr/local/cuda/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

source ~/.bashrc

查看是否安装成功

nvcc -V

nvidia-smi

进一步验证。

cd /usr/local/cuda/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

出现Result = PASS并成功检测出全部显卡,代表显卡驱动和CUDA安装成功。

rpm -ivh libcudnn8-8.2.1.32-1.cuda11.3.x86_64.rpm

rpm -ivh libcudnn8-devel-8.2.1.32-1.cuda11.3.x86_64.rpm

rpm -ivh libcudnn8-samples-8.2.1.32-1.cuda11.3.x86_64.rpm

conda

Linux的版本在官网上找合适版本的软件包

官网:

https://repo.anaconda.com/archive/

Anaconda3-2020.11-Linux-x86_64.sh

我的anaconda3安装在/root/下面,所以需要在相同目录下修改.bashrc的路径。

用命令 vim /root/.bashrc打开后,

添加export PATH=/root/anaconda3/bin:$PATH,

再用source /root/.bashrc生效文件。

创建环境

conda create -n python39 python=3.9.13

5.安装完毕后,查看镜像源

conda config --show channels

显示只有default,则需要修改channels添加国内清华镜像源以加速下载要安装的包

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

.再输入以下命令

conda config --set show_channel_urls yes

conda config --show channels

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

paddlepaddle配套的数据:

RTX A4000显卡需要用cuda11.2,cuDNN用8.2.1,驱动越新越好。

安装paddlepaddle-gpu版本 11.2

pip install onnx==1.12.0 -i https://mirrors.tencent.com/pypi/simple

pip install protobuf==3.20.0 -i https://mirrors.tencent.com/pypi/simple

python -m pip install paddlepaddle-gpu==2.4.2.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

pip install paddleocr -i https://mirrors.tencent.com/pypi/simple

pip install minio -i https://mirrors.tencent.com/pypi/simple

<think>好的,我现在需要帮助用户解决关于PaddlePaddle GPU版本的安装、配置和使用问题。首先,我得回忆一下用户提供的引用内容,看看里面有哪些关键信息可以提取出来。用户给出的引用有5个,大部分是关于安装步骤的,比如使用conda安装、不需要本地CUDA和CuDNN、安装前的准备等。 首先,我应该按照用户的要求,用中文分步骤回答,结构要清晰。用户可能需要一个详细的安装指南,包括系统要求、安装步骤、验证方法和常见问题。引用中提到conda安装命令,比如安装paddlepaddle-gpu==2.1.3,指定了cudatoolkit和channel,这可能是因为清华镜像源更快。另外,引用2和3提到无需本地安装CUDA和CuDNN,这可能是因为conda会自动处理这些依赖,用户只需要有Nvidia显卡驱动即可。这点很重要,需要强调,避免用户再去手动安装CUDA,减少步骤和出错可能。 接下来是验证安装的部分,用户可能需要知道如何检查PaddlePaddle是否正确安装,并且GPU是否被识别。通常会使用import paddle然后调用paddle.utils.run_check(),这部分需要写出来。 然后,配置部分可能涉及到多GPU训练,引用中没有直接提到,但作为常见配置可能需要补充,比如使用paddle.distributed.spawn。另外,可能还要提到环境变量设置,比如CUDA_VISIBLE_DEVICES,但引用里没提,但用户可能想知道。 使用教程部分,用户可能需要一个简单的示例代码,比如线性回归模型,展示如何用PaddlePaddle GPU进行训练。代码应包括数据准备、模型定义、训练循环等基本步骤,这样用户能快速上手。需要确保代码正确,并且注释清晰。 常见问题部分,根据引用中的信息,可能包括conda安装失败、CUDA版本不兼容、GPU未被识别等情况。解决方法可能包括检查conda源、更新驱动、确认CUDA版本匹配等。比如引用5提到安装CUDA的步骤,但用户可能遇到版本问题,需要提醒核对版本。 最后,生成相关问题需要考虑用户可能进一步想知道的内容,比如环境兼容性、多GPU训练、与其他框架比较、性能优化等。根据引用中的信息,可能用户会问如何验证GPU是否启用,或者安装时如何选择CUDA版本。 需要注意的是,用户提供的引用中有一些安装命令可能已经过时,比如paddlepaddle-gpu==2.1.3,但用户可能希望得到最新的方法。不过根据引用内容,还是应该按照提供的版本来指导,可能用户的环境需要特定版本。另外,引用5提到CUDA下载地址,可能需要给出具体链接,但用户可能已经知道,所以可以简化为建议访问官网。 在组织内容时,要确保按照步骤来,从准备到安装到验证再到使用,逻辑清晰。同时,引用标识要正确添加到对应的位置,比如安装步骤中的conda命令来自引用1和3,无需本地CUDA来自引用2和3,CUDA下载地址来自引用5的链接,但用户可能希望更简洁,所以可能需要整合。 最后检查是否符合用户的所有要求:行内公式用$...$,独立公式用$$...$$,但问题中可能不涉及数学公式,所以可能不需要。确保LaTeX语法正确,使用中文,生成相关问题,引用标识正确放置。回答要真实可靠,结构清晰,分步骤说明,帮助用户解决问题。</think>### PaddlePaddle GPU 安装与配置教程 #### 一、安装前准备 1. **系统要求** - 操作系统:支持 Windows 10/11、Linux(Ubuntu/CentOS)、macOS(需通过Docker使用GPU- 显卡驱动:需安装最新版 NVIDIA 显卡驱动[^2] - 硬件要求:NVIDIA GPU(计算能力 ≥ 3.5) 2. **依赖环境** - 无需手动安装 CUDA 和 CuDNN,Conda 会自动管理依赖[^3] - 确保已安装 [Anaconda](https://www.anaconda.com/) 或 Miniconda --- #### 二、安装步骤(以 Linux/Windows 为例) 1. **创建 Conda 环境** ```bash conda create -n paddle_env python=3.8 conda activate paddle_env ``` 2. **安装 PaddlePaddle GPU 版本** ```bash conda install paddlepaddle-gpu=2.5.2 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge ``` - **说明**: - 使用清华镜像加速下载[^1] - `cudatoolkit=11.7` 需与本地显卡驱动兼容(驱动版本 ≥ 450.80.02)[^5] 3. **验证安装** ```python import paddle paddle.utils.run_check() ``` - 若输出 `PaddlePaddle is installed successfully!` 且显示 GPU 设备信息,则安装成功。 --- #### 三、配置与使用 1. **多 GPU 训练** 使用 `paddle.distributed.spawn` 启动多卡训练: ```python from paddle.distributed import spawn def train_model(): # 定义模型与训练逻辑 pass if __name__ == '__main__': spawn(train_model) ``` 2. **环境变量设置** ```bash export CUDA_VISIBLE_DEVICES=0,1 # 指定使用 GPU 0 和 1 ``` --- #### 四、示例代码(线性回归) ```python import paddle # 数据准备 x_data = paddle.to_tensor([[1.0], [2.0], [3.0]]) y_data = paddle.to_tensor([[2.0], [4.0], [6.0]]) # 模型定义 model = paddle.nn.Linear(in_features=1, out_features=1) loss_fn = paddle.nn.MSELoss() optimizer = paddle.optimizer.SGD(learning_rate=0.01, parameters=model.parameters()) # 训练循环 for epoch in range(100): y_pred = model(x_data) loss = loss_fn(y_pred, y_data) loss.backward() optimizer.step() optimizer.clear_grad() print(f"Epoch {epoch}, Loss: {loss.numpy()}") ``` --- #### 五、常见问题 1. **安装失败** - 检查 Conda 镜像源是否配置正确[^1] - 确保显卡驱动支持 CUDA 11.7[^5] 2. **GPU 未被识别** - 运行 `nvidia-smi` 确认 GPU 状态 - 重新安装 `cudatoolkit` 或更新驱动 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lwprain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值