乐趣区

关于tensorflow:Windows-环境搭建-TensorFlow-21-GPU-训练模型加速支持

写在后面

最近筹备尝试跑一跑 TensorFlow GPU 训练模型,平时开发用的 MBP,无赖显卡是 AMD 只反对 CPU 训练,但恰有闲置 Win10 笔记本电脑一台显卡 NVIDIA 反对 CUDA®。

Tensorflow GPU 训练减速须要反对 CUDA® 的 GPU 显卡,这里提到的 CUDA 指的是,是 NVIDIA 研发的一种并行计算平台和编程模型,它能够通过利用 GPU 的解决能力,可大幅晋升计算性能的技术,更多查看相干内容。

环境搭建过程整体比较简单,查找下载相干工具包须要捣腾一会。

1 硬件条件

首先查看本人的显卡型号是否满足条件,TensorFlow 官网文档硬件要求提到了,CUDA® 架构为 3.5、3.7、5.2、6.0、6.1、7.0 或更高的 NVIDIA® GPU 卡。

1.1 查看显卡型号

第一步查看本人的显卡型号,进入 NVIDIA 控制面板,点击零碎信息。

显卡型号为 GeForce GTX 850M,电脑比拟老很早前的。

1.2 查问显卡是否反对 CUDA®

显卡型号为 GeForce GTX 850M,点击查看反对 CUDA® 的 GPU 卡列表,查看显卡型号是否在反对的列表外面。

计算能力为 5,显卡反对 CUDA,接下来查看 CUDA 驱动版本,NVIDIA 控制面板,零碎信息的组件外面。

版本为 11.1.96,在 TensorFlow 反对 CUDA 驱动版本范畴上,如果版本过低可查看上面提到的软件下载进行装置降级最新驱动。

2 软件下载

2.1 下载安装 NVIDIA® GPU 驱动程序

输出信息查问显卡驱动,下载安装最新的 NVIDIA® GPU 驱动程序,不便前面反对 CUDA Toolkit 装置 10.1 版本,CUDA Toolkit 10.1 须要驱动版本 418.x 或更高版本。

版本号为 456.71,满足要求,而后下载下来后装置驱动。

2.2 下载安装 CUDA® Toolkit

CUDA 工具包提供了用于创立高性能 GPU 减速应用程序的开发环境。TensorFlow(TensorFlow 2.1.0 及更高版本)反对 CUDA® 10.1 的 CUDA® Toolkit。

抉择长期文件目录,这里抉择了默认设置。

而后始终下一步,直到这里,如果电脑下面没有装置 Visual Studio 会提醒你装置 Visual Studio,如果后续有打算从源码构建 Tensorflow,则须要装置,具体装置内容可查看 在 Windows 环境中从源代码构建。

装置实现之后,会主动增加了几个环境变量到零碎中,关上终端外面输出 nvcc -V 验证装置后果。

2.3 下载 cuDNN SDK 7.6

cuDNN 是一个 GPU 减速的深度神经网络库,下载 cuDNN SDK 须要注册 NVIDIA Developer Program,进入下载页面后抉择 CUDA 10.1 的 cuDNN 7.6 版本。

下载胜利之后将其压缩包解压,拷贝放到 CUDA 目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\ 上面,这里拷贝是指将这三个目录上面的文件拷贝放入到 CUDA v10.1 对应的目录外面。

2.4 TensorRT 6.0(可选)

用于可缩短用某些模型进行推断的延迟时间并进步吞吐量,可抉择 Zip 形式装置,这里可选装置。

3 装置 Anaconda

应用 Anaconda 通过方便管理包依赖问题,,如果感觉 Anaconda 占用磁盘空间过大能够应用 miniconda,平时开发电脑上用的 miniconda,对于 miniconda 装置应用可点击这个。

3.1 下载 Anaconda

  • 从官网下载:https://www.continuum.io/down… 官网速度比较慢,不太举荐。
  • 从清华镜像下载:https://mirrors.tuna.tsinghua…

3.2 装置 Anaconda

装置过程也比较简单,须要留神以下两个中央。

Anaconda 装置应用后占有磁盘空间比拟大,如果 C 盘空间无限不举荐装置在 C 盘。

上面有两个抉择,第一个是将 Anaconda 增加到环境变量中,如果电脑上之前装置了 Anaconda 的另一个版本软件会影响 Anaconda 的应用,增加到环境变量的益处是能够间接关上终端执行相干命令治理包,如果不增加到环境变量也能够在 windows 的开始菜单外面找到 Anaconda Prompt,而后在关上的终端上执行相干命令治理包,所以这里能够不增加到零碎环境变量。

第二个是将 Anaconda 的 python 3.7 版本设置成我电脑上默认的 python,这样你的 IDE 等编辑器会检测到这个版本,不便前面在 IDE 调试代码的时候能够用到这个版本,如果之前电脑上有装过 python 这里可依据你的状况适当抉择。

3.3 配置 Anaconda

Anaconda 官网的数据包镜像,下载比拟迟缓,能够思考用清华的镜像 https://mirrors.tuna.tsinghua…

将新的镜像地址配置到 .condarc 文件,配置镜像内容能够查看 Anaconda 清华镜像应用帮忙。

4 测试

4.1 装置 TensorFlow

关上装置好的 Anaconda Navigator,创立用于测试 tensorflow-gpu 虚拟环境。

须要留神的是,如果你用 pip 装置官网公布的 TensorFlow,能够间接装置 tensorflow 包即可,即 pip install --upgrade tensorflow,因为官网对于 TensorFlow 1.x,CPU 和 GPU 软件包是离开的,而 2.x 将其打包在一起的,另外 2.x GPU 软件包也有公布的,也能够 pip install --upgrade tensorflow-gpu 装置 GPU 包。

在应用 conda 装置时,Anaconda Cloud 官网把 TensorFlow 2.x CPU 和 GPU 软件包是拆分了的,应该是为了减小包装置体积。

应用 conda 装置 tensorflow-gpu,在输出栏输出 tensorflow 抉择 tensorflow-gpu 点击 Apply 即可。

4.2 运行代码测试装置后果

关上以后环境的终端或关上 JupytarLab 或者 Notebook 运行以下代码。

import tensorflow as tf
from tensorflow.python.client import device_lib

// 打印已有的 GPU 
print(tf.config.list_physical_devices('GPU'))
// 打印 GPU 设施名称
print(tf.test.gpu_device_name())
// 打印电脑上能够用于计算的设施
print(device_lib.list_local_devices())

在 JupytarLab 运行后果为

打印进去了可用于计算的设施有 CPU 与 GPU,并别离打印出它们的信息及 GPU 计算能力,装置胜利之后,接下来就能够跑代码训练神经元网络了。

4.3 一个简略的神经网络测试

最初来跑一跑常见的一个入门 Hellow World DEMO,依据一个简略的公式和构建一个神经网络,简略预测屋宇的价格。

import tensorflow as tf
import numpy as np
from tensorflow import keras

model = tf.keras.Sequential([keras.layers.Dense(units=1, input_shape=[1])])
model.compile(optimizer='sgd', loss='mean_squared_error')
xs = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], dtype=float)
ys = np.array([5.0, 6.5, 8.0, 9.5, 11.0, 12.5], dtype=float)
model.fit(xs, ys, epochs=1000)
print(model.predict([7.0]))

如果房子的定价很简略,如果一个带卧室的房子是 15 万 + 35 万,也就是一间带主卧的房子 50 万,两间卧室的房子 65 万,注此类推。

输出 6 条数据,预测 7 间卧室的房子多少钱,这里把单位放大,不便神经元网络对数据的解决,输出数据 1 代表一个带卧室的房子,输入 5,示意 50 万。

训练 1000 次,预测运行后果局部截图如下。

参考链接

  • TensorFlow 装置 GPU 反对
  • 装置 Tensorflow 2.1.0 版本

原文首发地址 https://github.com/liuvigongzuoshi/blog

退出移动版