tensorflow GPU训练环境布置

一、显卡驱动安装

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*

显示内容如下:

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

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

1.3.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

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

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

sudo apt udpate

查找驱动:

 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

二、安装CUDA

2.1 确定CUDA版本

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

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

部分截图如下:

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

2.2 下载文件

下载地址

1. 找匹配版本

2. 选合适的平台

2.3 安装文件

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

sudo apt purge cuda*

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

3.安装 cudnn

3.1 选择版本

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

3.2 下载

地址

需要注册一下,注册后,下载页面如下:

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

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

4.tensorflow测试

import tensorflow as tf 
tf.test.is_gpu_available()

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用TensorFlow GPU训练自定义的TensorFlow模型,您需要按照以下步骤进行操作: 1. 安装CUDA和cuDNN:如果您还没有安装CUDA和cuDNN,您需要先安装它们。CUDA是NVIDIA提供的并行计算平台,cuDNN是用于深度学习的GPU加速库。您可以从NVIDIA官网下载CUDA和cuDNN的安装包进行安装。 2. 安装TensorFlow GPU版本:安装TensorFlow GPU版本,可以通过以下命令来安装:`pip install tensorflow-gpu`。确保您安装的是支持您的CUDA和cuDNN版本的TensorFlow GPU。 3. 准备数据:准备好您的训练数据集,并将其转换为TensorFlow支持的格式。例如,您可以使用TensorFlow的Dataset API或者tfrecords格式来读取和处理数据。 4. 构建模型:使用TensorFlow构建您的自定义模型。您可以使用TensorFlow提供的高级API,如Keras和Estimator,或者使用TensorFlow的底层API构建自定义模型。 5. 训练模型:使用TensorFlow训练您的模型。使用`tf.GradientTape`记录您的训练过程,并使用`tf.keras.optimizers`作为优化器。您可以选择使用CPU或GPU进行训练。如果您使用GPU进行训练TensorFlow会自动使用可用的GPU加速计算。 6. 保存模型:当您的模型训练完成后,您需要将其保存到磁盘上。您可以使用`tf.keras.models.save_model`将整个模型保存为单个文件,或者使用`tf.saved_model.save`将模型保存为可部署的格式。 7. 测试模型:使用您的测试数据集对模型进行测试,并评估模型的性能。 这些是训练自定义TensorFlow模型的基本步骤。您可以根据您的需求进行更进一步的调整和优化,例如使用分布式训练、使用TensorBoard进行可视化等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值