装Ubuntu死活进不了系统,貌似是显卡问题,所以退而求其次,在Windows下装Tensorflow GPU版本。出乎意料的是这一次安装相比Tensorflow-0.8的时候容易多了,网上的教程和答疑多了很多,遇到的问题基本都能找到解决方法,同时社区对新版本的支持力度也很大。所需基础软件(对,就说的NVIDIA家)都可以放心使用最新版了!
- 操作系统:Windows 10 64位 专业版 1803
- Visual Studio Community 2017 版本15.7.4
- Python:Anaconda 5.2 下 Python 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
- 从CUDA指南中可以找到对VS的要求,如下图CUDA9.2目前支持Visual Studio 2017 (RTW and Update 6),因此我目前VS的版本明显高出指南的要求,但高了总比低了好。
- 安装VS时,按自己需求选择功能,然后要注意选择右边的Windows 10 SDK,否则CUDA的Sample会编译失败。
二、安装CUDA9.2
- 首先更新显卡驱动,到NVIDA官网下载显卡最新的驱动,然后安装
- 下载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(补丁包)。
- 右键cuda主程序,用解压软件解压到临时目录,然后运行setup.exe,选择自定义安装,只勾选CUDA下的Development、Runtime、Documentation、Samples,如下图。不选择Visual Studio Integration是因为我的VS版本高于CUDA支持版本,会有Visual Studio Integration安装失败问题,因此要绕一下,感谢知乎申尚昆的帮助,以及英伟达社区
- 顺利安装完CUDA后,打开CUDA解压的临时目录,找到 CUDAVisualStudioIntegration/extras/visual_studio_integration/MSBuildExtensions 复制里面的所有文件到 VS2017 的安装目录(C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/IDE/VCVCTargets/BuildCustomizations)VS对应目录可在CUDA指南找到,如下图。
- 查看环境变量中是否有CUDA_PATH,没有的话自己加上,如下图。
三、安装CUDNN
- 很多攻略贴中提供的CUDNN下载页面版本不全,v7.1只有Linux版,推荐从NVIDIA首页登录后找到cudnn,按网站指引下载。贴几个可能有效的地址:
官网 https://developer.nvidia.com/rdp/cudnn-download
CSDN https://download.csdn.net/download/enight0000/10490781
- 解压cudnn压缩包,将压缩包里的内容拷贝到CUDA的安装目录(C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2)并覆盖对应的文件夹
四、测试CUDA Samples(可跳过)
- 打开CUDA安装目录:C:/ProgramData/NVIDIA Corporation/CUDA Samples/v9.2/5_Simulations/nbody
- 找到nbody_vs2017.sln,用vs2017打开,编译成功并运行,如成功则CUDA安装成功,如有错也不一定是CUDA的问题。
五、安装Tensorflow-gpu
- 为了Python不混乱,首先安装Anaconda 5.2(犹豫了很久怕麻烦,装上后发现真好用,一下就上手!)
- 设置Anaconda镜像加速下载,在CMD命令行下执行以下命令:
conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config –set show_channel_urls yes - 添加Tensorflow环境
conda create –name tensorflow python=3.6 - 进入Tensorflow环境
activate tensorflow - 以下是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 中均是可以的
解决方案:
- 安装包
conda install -n root -c pscondaenvs pscondaenvs
- 更改PowerShell配置
以管理员身份启动PowerShell,并输入命令个 Set-ExecutionPolicy RemoteSigned
执行策略更改选择Y
然后就可以使用activate了
依照指点解决了安装失败的问题,非常感谢!