本文介绍在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软件,方便后续代码的撰写。

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

import tensorflow as tf
print(tf.config.list_physical_devices("GPU"))

  如下图所示。

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

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

import tensorflow as tf
tf.test.is_gpu_available()

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

  至此,大功告成。

部署可使用GPU的tensorflow库的更多相关文章

  1. Ubuntu16安装GPU版本TensorFlow(个人笔记本电脑)

    想着开始学习tf了怎么能不用GPU,网上查了一下发现GeForce GTX确实支持GPU运算,所以就尝试部署了一下,在这里记录一下,避免大家少走弯路. 使用个人笔记本电脑thinkpadE570,内存 ...

  2. Ubuntu 16安装GPU版本tensorflow

    pre { direction: ltr; color: rgb(0, 0, 0) } pre.western { font-family: "Liberation Mono", ...

  3. Windows 2012服务器安装GPU版TensorFlow完全攻略

    一.首先,推荐用Anaconda安装 因为Anaconda本身就已经默认安装了很多常用的Python库,可以省去大量的库安装过程,并且解决兼容性问题. Anaconda本身的安装也非常简单,搜索Ana ...

  4. 使用GPU训练TensorFlow模型

    查看GPU-ID CMD输入: nvidia-smi 观察到存在序号为0的GPU ID 观察到存在序号为0.1.2.3的GPU ID 在终端运行代码时指定GPU 如果电脑有多个GPU,Tensorfl ...

  5. 依赖Anaconda环境安装TensorFlow库,避免采坑

    TensorFlow™ 简介: TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示 ...

  6. 【干货】快速部署微软开源GPU管理利器: OpenPAI

    [干货]快速部署微软开源GPU管理利器: OpenPAI 介绍 不管是机器学习的老手,还是入门的新人,都应该装备上尽可能强大的算力.除此之外,还要压榨出硬件的所有潜力来加快模型训练.OpenPAI作为 ...

  7. 禁用GPU版本TensorFlow,切换到CPU版本TensorFlow。

    #禁用gpu版本TensorFlow,因为CUDA号码从0开始,这里直接让CUDA使用-1的GPU,自然就无法使用gpu了. 代码前面加入: import osos.environ["CUD ...

  8. GPU 版 TensorFlow failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED

    原因: 使用 GPU 版 TensorFlow ,并且在显卡高占用率的情况下(比如玩游戏)训练模型,要注意在初始化 Session 的时候为其分配固定数量的显存,否则可能会在开始训练的时候直接报错退出 ...

  9. Win10 64bit下安装GPU版Tensorflow+Keras

    Tensorflow和Keras都是支持Python接口的,所以本文中说的都是搭建一个Python的深度学习环境. Keras是对Tensorflow或者Theano的再次封装,也就是以Tensorf ...

  10. GPU运行Tensorflow的几点建议

    1.在运行之前先查看GPU的使用情况: 指令:nvidia-smi 备注:查看GPU此时的使用情况 或者 指令:watch nvidia-smi 备注:实时返回GPU使用情况 2.指定GPU训练: 方 ...

随机推荐

  1. Linux - 配置服务器之间SSH免密登录

    如果集群中服务器之间没有配置SSH免密,那么SSH访问其他服务器时就需要输入密码 一般都要设置密码强口令,又长又难记,就想配置一下SSH免密. 一.生成公钥和私钥 在ctos79-01执行如下命令,公 ...

  2. RedHat8密码复杂度策略配置

    1.密码复杂度策略概念 在Linux系统中,确保用户密码的复杂度是提高系统安全性的重要措施之一.通过配置密码策略,可以强制用户使用强密码,从而降低被破解的风险.本文将详细介绍如何在 Linux 系统中 ...

  3. Easyexcel(5-自定义列宽)

    注解 @ColumnWidth @Data public class WidthAndHeightData { @ExcelProperty("字符串标题") private St ...

  4. Font-awesome失效恢复

    Font-awesome失效恢复策略 可能的原因有: 1.用了收费pro的版本,没充钱. Font Awesome 6 字体分为 Free 和 Pro 两个版本.Font Awesome 6 Free ...

  5. Qt 获取本机ipv4地址

    Qt 获取本机本地网卡的IPv4地址 本文介绍怎么用Qt去获取本机的ipv4地址 文章目录 Qt 获取本机本地网卡的IPv4地址 用法 用法 话不多说,直接上代码: QHostAddress host ...

  6. MySQL错误码大全

    B.1. 服务器错误代码和消息服务器错误信息来自下述源文件:· 错误消息信息列在share/errmsg.txt文件中."%d"和"%s"分别代表编号和字符串, ...

  7. 通过 openpyxl 操作 excel 表格

    博客地址:https://www.cnblogs.com/zylyehuo/ STEP1: 导入相关库 import os from openpyxl import load_workbook STE ...

  8. VMware虚拟化的CPU调度原理及实践建议

    简介: ESXi的CPU调度原理及实践建议 ESXi的CPU调度原理 CPU调度器的设计目标 公平性:确保虚机按照各自配置的份额占用物理CPU.吞吐量:最大化物理CPU的使用率.响应性:vCPU从'就 ...

  9. 【Win32】通过多线程自动关闭对话框的方法

    零.需求 希望在Windows开机后自动弹出个对话框提示一下,过8秒后自动关闭 一.解决 1.建项目和源文件 在VC6.0中新建Win32项目 新建C++源文件 2.编写代码 基础结构 #includ ...

  10. ASP.NET Web.config Transformations

    ... 参考文档 Web Deployment Content Map for Visual Studio and ASP.NET 微软ASP.NET站点部署指南(3):使用Web.Config文件的 ...