2018年6月21日

Win10下安装Tensorflow1.8 GPU版(CUDA9.2)(更新至TF1.12)

装Ubuntu死活进不了系统,貌似是显卡问题,所以退而求其次,在Windows下装Tensorflow GPU版本。出乎意料的是这一次安装相比Tensorflow-0.8的时候容易多了,网上的教程和答疑多了很多,遇到的问题基本都能找到解决方法,同时社区对新版本的支持力度也很大。所需基础软件(对,就说的NVIDIA家)都可以放心使用最新版了!

  • 操作系统:Windows 10 64位 专业版 1803
  • Visual Studio Community 2017 版本15.7.4
  • Python:Anaconda 5.2Python 3.6
  • GPU:显卡驱动398.11-notebook-win10-64bit-international-whql + cuda_9.2.88_win10 + cudnn-9.2-windows10-x64-v7.1
  • Tensorflow: 1.8

Tips:查看Windows版本 一起按Windows键和I键,点击系统,最下方关于

一、安装vs2017

  1. CUDA指南中可以找到对VS的要求,如下图CUDA9.2目前支持Visual Studio 2017 (RTW and Update 6),因此我目前VS的版本明显高出指南的要求,但高了总比低了好。
    tensorflow-gpu-cuda-vs.png
  2. 安装VS时,按自己需求选择功能,然后要注意选择右边的Windows 10 SDK,否则CUDA的Sample会编译失败。
    tensorflow-gpu-vs.png

二、安装CUDA9.2

  1. 首先更新显卡驱动,到NVIDA官网下载显卡最新的驱动,然后安装
  2. 下载CUDA 9.2 Windows x86_64 10 exe(local),将Base Installer和 Patch 1 (Released May 16, 2018)都下载下来,得到cuda_9.2.88_win10.exe(主程序)和cuda_9.2.88.1_windows.exe(补丁包)。
  3. 右键cuda主程序,用解压软件解压到临时目录,然后运行setup.exe,选择自定义安装,只勾选CUDA下的Development、Runtime、Documentation、Samples,如下图。不选择Visual Studio Integration是因为我的VS版本高于CUDA支持版本,会有Visual Studio Integration安装失败问题,因此要绕一下,感谢知乎申尚昆的帮助,以及英伟达社区
    tensorflow-gpu-cuda.png
  4. 顺利安装完CUDA后,打开CUDA解压的临时目录,找到 CUDAVisualStudioIntegration/extras/visual_studio_integration/MSBuildExtensions 复制里面的所有文件到 VS2017 的安装目录(C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/IDE/VCVCTargets/BuildCustomizations)VS对应目录可在CUDA指南找到,如下图。
    tensorflow-gpu-vs-path.png
  5. 查看环境变量中是否有CUDA_PATH,没有的话自己加上,如下图。
    tensorflow-gpu-cuda-path.png

三、安装CUDNN

  1. 很多攻略贴中提供的CUDNN下载页面版本不全,v7.1只有Linux版,推荐从NVIDIA首页登录后找到cudnn,按网站指引下载。贴几个可能有效的地址:

官网 https://developer.nvidia.com/rdp/cudnn-download
CSDN https://download.csdn.net/download/enight0000/10490781

  1. 解压cudnn压缩包,将压缩包里的内容拷贝到CUDA的安装目录(C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2)并覆盖对应的文件夹

四、测试CUDA Samples(可跳过)

  1. 打开CUDA安装目录:C:/ProgramData/NVIDIA Corporation/CUDA Samples/v9.2/5_Simulations/nbody
  2. 找到nbody_vs2017.sln,用vs2017打开,编译成功并运行,如成功则CUDA安装成功,如有错也不一定是CUDA的问题。

五、安装Tensorflow-gpu

  1. 为了Python不混乱,首先安装Anaconda 5.2(犹豫了很久怕麻烦,装上后发现真好用,一下就上手!)
  2. 设置Anaconda镜像加速下载,在CMD命令行下执行以下命令:
    conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config –set show_channel_urls yes
  3. 添加Tensorflow环境
    conda create –name tensorflow python=3.6
  4. 进入Tensorflow环境
    activate tensorflow
  5. 以下是TF的安装步骤,如已安装VS2017推荐安装TF1.8(无坑),否则就安装最新的TF1.12(有小坑),请酌情选一个吧~

TF1.8安装步骤)安装Tensorflow-gpu1.8,由于TF官网的GPU版本只支持到VS2015,而我们想使用VS2017,因此使用别人在CUDA9.2下编译好的安装包

https://github.com/fo40225/tensorflow-windows-wheel/tree/master/1.8.0/py36/GPU/cuda92cudnn71sse2

下载后输入 pip install xxx.whl 安装

TF1.12安装步骤)Tensorflow1.12官网对windows的支持已经很好了,可直接使用 pip install tensorflow-gpu 这条命令安装,但需要预装Microsoft Visual C++ 2015 Redistributable 更新 3,以下是官网说明。

安装 Microsoft Visual C++ 2015 Redistributable 更新 3。此软件包随附在 Visual Studio 2015 中,但可以单独安装:
转到 Visual Studio 下载页面 链接
选择“可再发行组件和生成工具”
下载并安装 Microsoft Visual C++ 2015 Redistributable 更新 3。

附:可能遇到的问题

问题一:从1.8升级至1.12后或直接安装1.12后,运行 import tensorflow 报错

from tensorflow.python.pywrap_tensorflow_internal import *
...
ImportError: DLL load failed: 找不到指定的模块

是因为VS版本不匹配造成的,请注意是否为VS2015 Update3,以及步骤二中的4小节

问题二:在使用PowerShell时 activate tensorflow 输入后没有效果,而在 anaconda prompt 和 cmd 中均是可以的

解决方案:

  1. 安装包

    conda install -n root -c pscondaenvs pscondaenvs

  2. 更改PowerShell配置
    以管理员身份启动PowerShell,并输入命令个 Set-ExecutionPolicy RemoteSigned

执行策略更改选择Y
然后就可以使用activate了

六、测试

tensorflow-gpu-tf.png

Share

You may also like...

1 Response

  1. 游客说道:

    依照指点解决了安装失败的问题,非常感谢!

发表评论

您的电子邮箱地址不会被公开。