linux 启用GPU训练前,系统配置,CUDA、CUDAnn、NVIADIA配置。

前言:在项目中使用GPU训练失败,报错信息为:

ImportError: cannot import name 'transpose_shape' from 'keras.utils.generic_utils' 
(/root/anaconda3/lib/python3.7/site-packages/keras/utils/generic_utils.py)

基于CentOS7.5系统,我已经安装了CUDA 10.1版本可CUDAnn 6.5版本。匹配keras和tensorflow 2.6.0版本。

以上设置仍不能运行GPU训练,因此,采取一下操作。

1.检测并安装对应版本内核源码包、gcc编译器

sudo yum install -y gcc
sudo yum install -y gcc-c++
sudo yum install -y kernel
sudo yum install -y kernel-devel
sudo yum install -y kernel-headers

检查安装版本,这里可能遇到的情况有kernel存在两个版本,此时要卸载一个,确保存在kernel与kernel-devel和kernel-hearders包的版本号一致:

rpm -qa | grep gcc
rpm -qa | grep kernel

卸载多余的kernel

rpm -e --nodeps kernel-3.10.0-514.el.x86_64  # 不检查依赖关系直接删除

2.检测nouveau是否禁用,我们的目标是禁用。

检测代码如下:

lsmod | grep nouveau

如果有输出,说明未禁用。使用如下方法禁用:

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

# 添加两行内容
blacklist nouveau
options nouveau modeset=0

输入 vi /usr/lib/modprobe.d/dist-blacklist.conf  进入系统配置,任意加入上述两行代码,保存并退出。

给当前镜像备份,建立新镜像。

# 备份
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# 新建
dracut /boot/initramfs-$(uname -r).img $(uname -r)
# 再次重启
shutdown -r now

重启后输入lsmod | grep nouveau 检测是否禁用成功。

此时,完成系统的基本配置了,接下来进行NVIDIA显卡驱动、CUDA、CUDANN的配置

3.NVIDIA显卡驱动检测并安装

3.1 输入以下指令检测是否安装驱动

nvidia-smi

若返回: bash: nvidia-smi: 未找到命令...

说明服务器没装NVIDIA显卡驱动。

3.2 检查服务器的GPU版本:

lspci | grep VGA

返回:

0000:17:00.0 VGA compatible controller: NVIDIA Corporation Device 2230 (rev a1)

接下来进入网站:PCI devices

输入上面的 2230 得出当前显卡信息为

Name: GA102GL [RTX A6000]

3.3 进入英伟达官网选择显卡和系统版本进行驱动下载:

官方驱动 | NVIDIA

下载对应版本驱动,放入Linux服务器

3.4 安装显卡驱动

# 进入纯命令模式,有图形化界面时不可以进行安装
init 3
# 为安装文件增加可执行权限
sudo chmod +x NVIDIA-Linux-x86_64-384.59.run
# 运行安装文件
sudo ./NVIDIA-Linux-x86_64-384.59.run -no-x-check -no-nouveau-check -no-opengl-files

全选OK和YES

查看是否安装成功

nvidia-smi

4.CUDA安装(CUDA TooIkit安装,这两个是一个东西)

同一个设备上可以有多个不同版本的CUDA。

CUDA的离线安装包会自带显卡驱动,因此采用在线安装的方式。

你可能感兴趣的:(Linux基础命令及实例,深度学习配置,linux,python,神经网络)