tensorflow GPU训练环境布置

tensorflow GPU训练环境布置

  • 一、显卡驱动安装
    • 1.1 如何处理**Failed to initialize NVML: Driver/library version mismatch的问题**
    • 1.2 卸载旧的版本
    • 1.3 驱动安装
      • 1.3.1 利用apt 安装
      • 1.3.2 手动安装
  • 二、安装CUDA
    • 2.1 确定CUDA版本
    • 2.2 下载文件
      • 1. 找匹配版本
      • 2. 选合适的平台
    • 2.3 安装文件
    • 2.4 验证
      • 2.4.1 下载cuda samples
      • 2.4.2 编译
  • 3.安装 cudnn
    • 3.1 选择版本
    • 3.2 下载
    • 3.3 安装
    • 3.4 验证
  • 4.tensorflow测试
  • 5 大功告成!!!!!!!!!!!!!!!!!!!!!!!!

一、显卡驱动安装

1.1 如何处理Failed to initialize NVML: Driver/library version mismatch的问题

运行如下命令:

nvidia-smi

在服务器上,刚开始测试的时候,驱动的时候,会报如下错误:

Failed to initialize NVML: Driver/library version mismatch

根据网上方法,尝试了各种:如重启、配置环境变量、卸载重新安装等。都没有起作用。根本原因在于:

我的服务器虚拟的,而且我无法控制宿主机

此时,需要查看是那两个版本不匹配:

dmseg |tail -n 10 #后面这个数字可以根据机器上的错误消息的大小进行调整。我在写这篇文章的时候,由于错误已经被处理了,消息内容很难找,我直接加到1000了

会显示如下的内容:

可以看到,我的当前版本内核中的驱动版是525.85.12,而运行在用户太的版是525.105.17

此时,网上有说直接让自动装,需要看当前最新的安装版本是不是与内核版一致。如果不一致,则需要将内核中的卸载掉。而我这个服务器是利用宿主直通的。所以没法卸载。我怀疑是宿主机的版本与内核的一致。而我无法修改宿主机的。所以只能让我能安装的部分与内核保持一致。

1.2 卸载旧的版本

卸载可以使用如下命令:

sudo apt purge nvidia*

卸载后,可以查看当前 apt支持的驱动版本是什么?

1.3 驱动安装

1.3.1 利用apt 安装

如果与你的内核一致或你能控制内核的版本,则可以直接安装,请跳到下节,安装CUDA部分

如果不一致。那么请继续往下看,阅读完本节。

查看可安装版本:

sudo apt list |grep nvidia-driver*

显示内容如下:

tensorflow GPU训练环境布置_第1张图片

在最新的更新中,并没有我需要的版本,其中最后的一行,

在确定无法利用apt` 安装的情况下,可以利用下面的方法来找合适的驱动版本。

1.3.2 手动安装

驱动查找地址:地址

tensorflow GPU训练环境布置_第2张图片

下载完成之后,使用dpkg 进行安装:

 sudo dpkg -i nvidia-driver-local-repo-ubuntu1804-525.85.12_1.0-1_amd64.deb

提示信息如下:

sudo cp /var/nvidia-driver-local-repo-ubuntu1804-525.85.12/nvidia-driver-local-CDA22FB5-keyring.gpg /usr/share/keyrings/
sudo apt update

tensorflow GPU训练环境布置_第3张图片

此时,在apt中还看不到其更新信息,需要在 `/etc/apt/source.list.d/ `下面添加一个list文件:

再进行更新,就会看到以下信息:

sudo apt udpate

tensorflow GPU训练环境布置_第4张图片

查找驱动:

 sudo apt list |grep nvidia-driver

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BfjSQNkx-1683716939458)(https://pic2.imgdb.cn/item/645b6c9c0d2dde57778772ba.jpg)]

可以看到,在上图中,出现了想要安装的驱动。可以直接手动安装:

sudo apt install nvidia-driver-525 # 或者
sudo apt install nvidia-driver-local-repo-ubuntu1804-525.85.12

安装完成后,就不要再更新了,如果升级了,会导致开始进的问题。

此时,驱动已经安装完成了。

nvidia-smi

tensorflow GPU训练环境布置_第5张图片

二、安装CUDA

2.1 确定CUDA版本

安装的CUDA要tensorflow能支持的版本。这一点很重要。如果你安装最新或最高支持的版本,但tensorflow不支持,也没啥用。

可以在以下的地址查看支持信息:地址

部分截图如下:

可以看见:最新版本的tensorflow-2.12.0也就最高支持11.8,所以即使你安装了cuda12.0也没法利用。

tensorflow GPU训练环境布置_第6张图片

2.2 下载文件

下载地址

1. 找匹配版本

tensorflow GPU训练环境布置_第7张图片

2. 选合适的平台

tensorflow GPU训练环境布置_第8张图片

2.3 安装文件

利用给出的命令直接安装。如果之前安装过,就直接清理。

sudo apt purge cuda*

tensorflow GPU训练环境布置_第9张图片

2.4 验证

2.4.1 下载cuda samples

地址

wget https://github.com/NVIDIA/cuda-samples/archive/refs/tags/v11.8.tar.gz
tar -zxvf v11.8.tar.gz
cd Samples/1_Utilities/deviceQuery/
ls

2.4.2 编译

make
./deviceQuery

tensorflow GPU训练环境布置_第10张图片

3.安装 cudnn

3.1 选择版本

同cuda,选择tensorflow支持的版本:8.6

3.2 下载

地址

需要注册一下,注册后,下载页面如下:
tensorflow GPU训练环境布置_第11张图片

tensorflow GPU训练环境布置_第12张图片

3.3 安装

下载完成后,直接利用dpkg进行安装

 sudo dpkg -i cudnn-local-repo-ubuntu1804-8.9.1.23_1.0-1_amd64.deb

这个会自动提示复制签名信息的,我已经安装过了,所以不再提示了。操作如下:

sudo cp /var/cuda-repo-ubuntu1804-11-8-local/cuda-7D65C20C-keyring.gpg /usr/share/keyrings/

更新:

sudo apt update

这三个挨个安装。

3.4 验证

cp -r  /usr/src/cudnn_samples_v8 ~/src/
cd src/cudnn_samples_v8/mnistCUDNN/
make
./mnistCUDNN

tensorflow GPU训练环境布置_第13张图片

上面只是部分截图信息,如果能运行,环境基本部署成功了。

4.tensorflow测试

import tensorflow as tf 
tf.test.is_gpu_available()

tensorflow GPU训练环境布置_第14张图片

5 大功告成!!!!!!!!!!!!!!!!!!!!!!!!

你可能感兴趣的:(tensorflow,gpu,python)