部署可使用GPU的tensorflow库

本文介绍在Anaconda 环境中,配置可以用GPU 运行的Python 新版tensorflow库的方法。

在上一篇文章部署CPU与GPU通用的tensorflow:Anaconda环境中,我们详细介绍了CPUGPU 通用的新版tensorflow库的配置方法;本文就在这一篇文章的基础之上,继续介绍如果希望让GPU参与到计算中 ,我们该如何进一步配置对应的环境。如果大家此时还没有配置tensorflow库,那么就先将前述这一篇文章的流程完成后,再继续本文的步骤即可。

这里需要注意,tensorflow库在2.11及以上的版本中,都取消了对Windows 平台的GPU 支持(我试了一下,就算装了WSL 也不行);而在撰写本文时,用的是2.6.2版本的tensorflow库,因此是没有问题的。所以大家如果装了2.10及以下版本的tensorflow库,就继续向后看本文即可;如果此时已经装了2.11及以上版本的tensorflow库,那么可以首先通过如下的代码将tensorflow库更换为2.10版本的(执行这一代码时,将自动删除原有的2.11及以上版本的tensorflow库),再继续看本文。

复制代码
pip install --user "tensorflow<2.11"

前面我们提到,当时虽然已经配置完毕了新版tensorflow库,但是如果运行代码,还是会出现如下图所示的提示信息,即我们还没有配置好GPU运行的环境。

其中,如果大家的电脑上是没有GPU ,或者就不需要用GPU 加以计算,那就不用管这个问题,直接开始编写、运行机器学习的代码就好了;但是对于电脑中有GPU 并且也希望让GPU加入运算的用户而言,就需要加以进一步的配置工作。具体流程如下。

1 系统版本要求

如果需要用本文所述的GPU 环境配置方法,需要保证Windows 操作系统的版本在19044及以上;如果不满足这一条件,除了升级系统,就只能通过早期版本的tensorflow库来实现GPU运算了。

2 GPU设置

首先,我们需要打开Anaconda Prompt 软件;随后,可以输入如下所示的代码,从而查看我们的GPU状态。

复制代码
nvidia-smi

运行上述代码后,如下图所示,即为我们的GPU 状态。如果无法出现如下图所示的信息,则很大概率是没有安装驱动(NVIDIA Driver ),大家可以到其官方网站中下载。

随后,我们即可配置CUDAcuDNN ;其中CUDANVIDIA 为其生产的GPU 所研发的一种并行计算架构,而cuDNN 则是NVIDIA 专门为深度神经网络运行而提供的一个加速库。这二者目前网上很多教程是通过手动到NVIDIA 官方网站上下载、安装的,相对较为麻烦;而这里我们既然已经用了新版本的tensorflow库,那么就可以直接在命令行实现二者的下载与配置。

我们输入如下所示的代码。

复制代码
conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0

随后,运行上述代码,如下图所示。

随后,输入y,即可确认开始下载、配置CUDAcuDNN。稍等片刻,出现如下图所示的情况,说明二者已经配置完毕。

至此,CUDAcuDNN 的设置已经完毕。但是,为了让这二者可以正常使用,我们还需要配置系统路径。关于这一步的内容,大家可以直接用管理员身份打开Windows PowerShell软件来进行配置,如下图所示。

随后,分别输入并运行以下两句代码。

复制代码
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/' > $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

运行后如下图所示。

至此,就完全完成了GPU方面的配置工作。

3 WSL2配置

此外,我们还需要配置WSL2WSL 是"适用于Linux 的Windows 子系统 ",我们需要配置这一环境,为后面的GPU运算提供条件。

关于WSL2 的介绍与手动配置方法,大家可以直接查看其官方网站;我们这里就介绍通过命令行的简单的配置方法。

首先,依然是在管理员身份打开的Windows PowerShell软件中,我们输入如下所示的代码。

复制代码
wsl --install

随后,即可开始安装WSL2 ;稍等片刻,出现如下图所示的提示,说明WSL2已经配置完毕;此时,需要重启一次电脑。

4 配置结果验证

至此,已经完成了GPU 运算所需要的全部配置步骤。如果大家是在一个新的虚拟环境中配置的上述内容,就可以按照文章Anaconda虚拟环境配置Python库与Spyder编译器提到的方法,安装一个Spyder软件,方便后续代码的撰写。

随后,在编辑器中输入如下的代码。

python 复制代码
import tensorflow as tf
print(tf.config.list_physical_devices("GPU"))

如下图所示。

运行上述代码后,如果出现如下图所示的输出结果,就表明程序可以找到电脑中的GPU ,即前述全部配置工作是没有问题的;大家就可以开始撰写机器学习的各类代码,并用GPU加速运行了。

此外,这里还有一种不推荐的检验方法。大家还可以输入以下的代码。

python 复制代码
import tensorflow as tf
tf.test.is_gpu_available() 

这也是一种检验GPU 是否可用的方法,但是如下图所示,这种方法马上就要被淘汰了,因此建议还是用上面提到的方法来测试。如果出现如下图所示的True字样,就说明配置没有问题。

至此,大功告成。

相关推荐
牙牙要健康19 分钟前
【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之如何形成高斯椭球
人工智能·深度学习·3d
Want5951 小时前
Python炫酷烟花
开发语言·python·pygame
老歌老听老掉牙1 小时前
Python 脚本执行命令的深度探索:方法、示例与最佳实践
python·命令
L_cl1 小时前
【Python 算法零基础 4.排序 ⑤ 归并排序】
python·算法·排序算法
钟屿1 小时前
LIEDNet: A Lightweight Network for Low-light Enhancement and Deblurring论文阅读
论文阅读·图像处理·人工智能·深度学习
山顶望月川1 小时前
集群、容器云与裸金属服务器的全面对比分析
人工智能·深度学习·机器学习
jerry6091 小时前
LLM笔记(十)vLLM(1)PagedAttention论文笔记
论文阅读·人工智能·笔记·深度学习·学习·transformer
拾忆-eleven2 小时前
NLP学习路线图(五):常用库-NumPy, Pandas, Matplotlib
python·自然语言处理·nlp
叫我黎大侠2 小时前
使用 LibreOffice 实现各种文档格式转换(支持任何开发语言调用 和 Linux + Windows 环境)[全网首发,保姆级教程,建议收藏]
java·大数据·linux·开发语言·python·c#·php
xiaohanbao092 小时前
day34 python深度学习训练优化实践:CPU vs GPU
人工智能·python·深度学习·学习·机器学习