windows搭建tensorflow benchmark环境
1、目的
在windows上安装tensorflow benchmark来验证GPU VM的计算功能的工作是否正常
2、硬件环境介绍
类别 | 详情 |
---|---|
操作系统 | windows server 2008 R2 数据中心版 64位 中文版 |
GPU显卡 | 1个Nvidia Tesla P40 |
3、python版本、tensorflow-gpu、CUDA及cudnn之间的对应关系
如下图所示,图中列出了针对GPU驱动版本来说,python版本、CUDA和cudnn之间的对应关系,这只是一个粗略的对应关系,在实际安装的过程中,需要尝试具体的版本对应关系。
4、程序下载
4.1 驱动下载
从NVIDIA官网找到对应系统支持的驱动版本,下载安装即可。
NVIDIA driver下载地址:https://www.nvidia.cn/Download/index.aspx
下载的驱动信息如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ApqJac48-1588174230710)
4.2 CUDA和cudnn下载
(1)CUDA下载。
我们选择的tensorflow-gpu的版本是1.9.0和1.12.0,这两个版本对应的都是CUDA-9和cudnn-7,所以选择下载CUDA-9.0。
CUDA-9.0下载地址:https://developer.nvidia.com/cuda-90-download-archive
因为没有windows server 2008对应的版本,考虑到windows都是向下兼容,所以我这里选择的是windows 7对应的版本。如下图
(2)cudnn-7版本下载
登陆cudnn下载网址:https://developer.nvidia.com/rdp/cudnn-archive
选择CUDA-9.0对应的cuDNN v7.1.4,选择windows 7对应的版本,点击下载,如下图
4.3 python版本下载
每版tensorflow benchmark对python版本的要求都有所不同,本次使用的是tensorflow-gpu-1.9.0和tensorflow-1.12.0,建议使用python3.6。
python3.6的下载地址:https://www.python.org/ftp/python/3.6.8/python-3.6.8-amd64.exe
4.4 tensorflow-gpu-1.x.0下载
安装完python3.6,并把其添加到系统的环境变量中,此时启动cmd或者windows powershell执行下图中的命令即可安装tensorflow-gpu-1.12.0。
如果希望安装1.9.0,则可以把图中的tensorflow-gpu1.12.0替换tensorflow-gpu1.9.0即可。
5、环境搭建
5.1 安装Nvidia Tesla P40驱动
此部分驱动因为之前安装过,所以此处略过
5.2 安装CUDA-9.0
按照安装提示安装CUDA-9.0即可,安装后CUDA-9.0所在的目录是【C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0】。如下图
成功安装后,系统中将增加一些关于CUDA的环境变量,如下图
5.3 安装cuDNN-7.1.4
解压cudnn-9.0-windows7-x64-v7.4.1.5.zip,里面的目录结构如下,我们把相应目录下的文件拷贝到CUDA-9.0的安装目录中即可。
5.4 安装python3.6
双击python-3.6.8-amd64.exe进行安装,注意需要勾选下图中的【Add Python 3.6 to PATH】,这样在cmd或powershell运行python的时候就不需要输入全路径。
之后点击【Install Now】即可安装。
5.5 安装tensorflow-gpu-1.12.0
启动powershell,执行【pip.exe install tensorflow-gpu==1.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple】来安装tensorflow-gpu-1.12.0,-i参数是指定
安装源。如图所示
6、benchmark相关测试
6.1 下载benchmark程序
登陆https://github.com/tensorflow/benchmarks网址来下载ZIP程序压缩包,也可以使用git clone https://github.com/tensorflow/benchmarks.git 下载。
如果需要下载某个分支,则需要把【Branch:master】切换成期望的分支,例如【Branch:cnn_tf_v1.12_conpatible】
6.2 运行tf_cnn_benchmarks.py程序
(1)进入benchmark-1.12.0/scripts/tf_cnn_benchmarks目录
(2)执行命令python.exe tf_cnn_benchmarks.py 程序。如果需要可以加上参数“–num_batches=1000 --batch_size=8”来加大压力测试
测试程序示意图如下
测试的结果如下图
7 环境搭建的难点
在环境搭建过程中,由于无法确切地知道CUDA,cuDNN及tensorflow-gpu之间的版本对应关系,如果在解决了程序运行过程中的依赖问题后,仍有无法解决的问题,例如【此问题是由安装tensorflow-gpu是出现了中断造成的,建议卸载重装tensorflow-gpu】的解决方法时,可以切换tensorflow-gpu的版本来尝试解决。