windows 10 64bit下安装Tensorflow+Ke

作者: xushiluo | 来源:发表于2016-12-21 20:32 被阅读66667次

    写在前面的话

    2016年11月29日,Google Brain 工程师团队宣布在 TensorFlow 0.12 中加入初步的 Windows 支持。但是目前只支持64位,而且Python版本为3.5版本,需要CUDA 8.0 。
    之前Tensorflow对windows的支持并不好,导致如果需要使用它,需要转移到Linux平台,或者使用Cygwin什么的,总之挺麻烦,现在好了。麻烦事google帮我们解决了。感谢google

    Tensorflow和Keras都是支持Python接口的,所以本文中说的都是搭建一个Python的深度学习环境。还有一点,我也是新手,写得不好请勿喷!忽视本文就好。

    如果你不清楚Keras和Tensorflow是什么关系?请看下图:

    Keras与Tensorflow和theano关系图.png

    Keras是对Tensorflow或者Theano的再次封装,也就是以Tensorflow或Theano为后端,默认的后端是tensorflow,如果你想使用theano为后端,可以更改为theano。
    Keras为什么要对tensorflow和theano进行再次封装,当然是为了使用更简单!为了让我们不用关注那么多的底层细节,把所有精力都放在实际问题上面。

    Tesorflow与theano是可以使用Nvidia GPU进行加速的,如果你的GPU不支持CUDA,那么也不用担心,那就使用CPU,只是速度慢点(其实是慢很多!(_))。如果你的GPU支持CUDA,不用犹豫了,果断使用CUDA进行加速吧,速度快个10~20倍,那是常事。

    好了说了这么多,下面进入正题。

    一、文件准备

    • windows 10 64bit旗舰版(版本1607,OS内部版本 14393.576)

    • cuda_8.0.44_win10.exe: CUDA安装文件。去NVIDIA官网下载

      CUDA是由显卡厂商NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

    • Visual Studio 2015 Community: 请使用Community版本(社区版),因为它是免费的!免费的!当然,你注册个微软账号使用起来就更好了。

    • Rapid Environment Editor(环境变量编辑器)

      先把它安装了吧,编辑环境变量方便点。

    • Anaconda3-4.2.0-Windows-x86_64.exe

    Anaconda是一个Python科学计算环境,提供了很多常用的Python库,例如:
    numpy,scipy, matplotlib等等。自带的包管理器conda也很强大,可以方便地安装各种Python库。
    下载地址:https://www.continuum.io/downloads/

    • DXSDK_Jun10.exe

    微软的DirectX SDK工具包,不安装它的话,后面编译CUDA_Samples是没法成功的。下载地址:https://pan.baidu.com/share/link?shareid=197164616&uk=369246564&fid=2918892502

    • cudnn-8.0-windows10-x64-v5.1.zip

    CUDA的神经网络加速库,可以在前面GPU加速基础上大概再提升1.5倍的速度。 下载地址:https://developer.nvidia.com/cudnn

    1. 安装Rapid Environment Editor

    这个东西是编辑环境变量的,挺好用的,先把它安装了吧。后面给自己省事。安装完成后,默认界面是英文的,到设置里面改为中文吧。启动的时候,设置位管理员启动吧,不然没法更改系统环境变量。

    2. 安装DXSDK_Jun10.exe

    直接按照提示下一步就好了。我在windows 10上安装的时候,最后的时候会报错,不过没有关系,关掉那个框。搜索下"d3dx9.h"、"d3dx10.h"、"d3dx11.h"头文件是不是存在,如果路径如下这个样子,就成功了。路径:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3dx9.h

    DirectX SDK S1023错误.png

    二、安装CUDA

    深度学习库如果使用CUDA进行GPU加速,可以大大缩短计算时间。如果不需要GPU加速,直接跳到第三部分。

    2.1 检查GPU是否支持CUDA

    先确定下自己的显卡型号(不要告诉我你不知道怎么查看自己的显卡型号)。安装CUDA前先检查下,自己的显卡是否支持CUDA,可以从下面的网址查看自己的显卡是否在支持之列。如果你的显卡比较新,到这里检查是否支持CUDA:https://developer.nvidia.com/cuda-gpus
    如果你的显卡很老,请到如下链接检查是否支持CUDA:https://developer.nvidia.com/cuda-legacy-gpus
    注意笔记本和desktop的区别。

    如果自己电脑显卡不支持的话就跳过第二部分,直接到第三部分。我的显卡是GTX650,是支持CUDA的,所以继续。

    2.2 安装Visual Studio 2015 community

    Visual Studio 2015 community的安装包到哪里找,我就不说了。安装VS2015前,请先断网,不然安装过程会下载一堆东西,过程极慢。安装时只选择Visual C++部分,其他都可以不装,这样安装起来更快。安装要一会儿,请耐心等待。

    2.3 CUDA安装

    1. CUDA 8.0下载

    从CUDA的官网下载安装文件,https://developer.nvidia.com/cuda-downloads,我安装时最新版本是 CUDA 8.0. 注意选择系统是windows 10,选择exe(local)那个Installer Type。如下图:

    CUDA8.0下载.jpg

    如果需要下载CUDA的历史版本,请到这里:https://developer.nvidia.com/cuda-toolkit-archive

    2. 测试CUDA安装结果

    打开命令提示符,输入:nvcc -V
    可以看到如下信息:

    nvcc.jpg

    但是,这样并不代表安装成功了。等把CUDA_Samples示例编译通过不报错了,才能算是成功。

    3. 编译CUDA示例程序

    (1)在 c:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0 目录下,有CUDA的示例程序。由于我安装的是VS2015,所以我打开Samples_vs2015.sln那个解决方案文件,将解决方案配置更改为Release和x64.
    使用Release模型,由于所有程序安装包用的都是64位版本,所以改为x64比较好。

    (2)右键单击,编译整个解决方案。如果不出意外,将会编译成功。如果提示是缺少:
    "d3dx9.h"、"d3dx10.h"、"d3dx11.h"头文件 ,说明前面安装DirectX SDK没有安装好,重新安装下DXSDK_Jun10.exe,再次编译。

    (3)关闭VS2015,在
    c:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release
    目录下找到deviceQuery.exe这个文件。打开一个cmd窗口,定位到 c:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release目录,输入:deviceQuery.exe ,然后回车。会得到如下结果:

    检查CUDA是否安装成功.jpg

    如果你的结果与上面类似,恭喜你!CUDA 8.0安装成功了!
    如果报错了,请检查下前面的步骤是否严格执行了。重新再来,直到成功。

    三、安装Tensorflow与Keras

    3.1 安装Anaconda

    1. 下载Anaconda

    Anaconda包含很多科学计算的包,例如numpy、scipy等等,可以为你省去不少麻烦,它的官网在这里:https://www.continuum.io/downloads ,下载最新的Anaconda 4.2版本,Python版本选择3.5 64bit的那个版本。

    下载Anaconda.jpg

    万一你执意使用Python 2.7,我只能告诉你,最新的tensorflow-0.12在windows平台可能对python-2.7支持得不够好,中间会出问题的。

    2. 安装Anaconda

    • 如果你之前有安装Anaconda 2系列的,在环境变量里面把相关的环境变量给删除了。
    C:\Anaconda2
    C:\Anaconda2\Scripts
    C:\Anaconda2\Library\bin
    
    • 安装挺简单,我一般安装在C盘根目录下:c:\Anaconda3
      建议大家也安装到根目录下。
      安装时,在Install for那个界面,建议选择【All Users(requires admin privileges)】那个选项。

    在如下那个界面中,把两个选项都勾上(默认是勾上的)

    安装Anaconda-2个选项.png

    3.2 更改pip的默认源

    Python开发安装包时,使用pip进行包安装非常方便。但pip默认的源服务器在国外,下载非常慢,而且经常出现下载后安装出错问题。因此,有必要更换为国内的pypi源。

    对于windows来说,直接在当前用户目录下新建一个pip.ini文件,例如:c:\Users\Luoge\pip.ini
    pip.ini的文件内容如下:

    [global]  
    index-url = http://mirrors.aliyun.com/pypi/simple/
    [install]  
    trusted-host=mirrors.aliyun.com
    

    上面是将源更换为了阿里云的源(阿里爸爸牛逼!~),输入完成后,记得保存。

    3.3 安装Tensorflow

    下面两种安装方式二选一。

    在线网络安装方式

    保持网络连接,从开始菜单中打开Anaconda Prompt,输入:pip install tensorflow-gpu
    然后就耐心等待吧。如果安装成功了,跳过离线安装方式

    在线安装tensorflow.png
    • 如果它提示你更新pip,你就按照提示更新pip好了。
    • 如果这种方式安装失败了,请看下面的 离线安装方式

    离线安装方式

    如果在线从pip安装tensorflow总是失败,那就下载python的whl包,本地安装的。
    下载地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/
    Ctrl+F搜索Tensorflow,找到: tensorflow_gpu‑0.12.0rc1‑cp35‑cp35m‑win_amd64.whl
    注意下载带gpu字样的版本,它才支持GPU加速。下载也不太快,视你的网速而定。
    为了方便大家,我在百度云上上传了一份,大家也可以上百度云下载:http://pan.baidu.com/s/1o77WBe6
    不客气!

    从开始菜单中打开Anaconda Prompt,输入:pip install c:\Users\Luoge\Downloads\tensorflow_gpu-0.12.0rc1-cp35-cp35m-win_amd64.whl

    然后,等待安装完成就好了。

    3.4 安装Keras

    保持网络连接,从开始菜单中打开Anaconda Prompt,输入:pip install keras

    回车,安装就开始了,它会顺带把Theano也给安装上,但是这里安装的Theano版本比较老,是Theano-0.8.2。我们使用tensorflow作为后端,而不是theano,所以不用理会它,让它装上就好了。

    四、测试Keras是否安装成功

    从开始菜单中打开Anaconda Prompt,在命令行中输入:python,再输入:

    import tensorflow as tf
    sess = tf.Session()
    a = tf.constant(10)
    b = tf.constant(22)
    print(sess.run(a + b))
    

    如果正确打印出结果32,不报错,说明tensorflow安装成功。

    再输入:

    import keras
    

    若不报错,说明安装成功。

    五、让速度更快一点

    1. cuDNN可以在前面GPU加速基础上大概再提升1.5倍的速度,它由nVIDIA开发。可以到nVIDIA官网上下载。下载之前需要注册,然后问一系列问题,请耐心弄完。然后就可以下载了。不要下载错了,下载windows 10系统下64位的,最新的支持CUDA 8.0的cuDNN-5.1,文件名是:cudnn-8.0-windows10-x64-v5.1.zip

    下载cudnn.jpg

    2. 下载完成后解压缩。里面有bin、include、lib三个目录,将三个文件夹复制到安装CUDA的地方覆盖对应文件夹,默认文件夹在:
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

    3. 如何验证CuDNN是否配置成功呢?
    打开Anaconda Prompt,输入python,再输入import tensorflow,显示的如果是下图这样子,不提示没有安装cudnn,就成功了。

    cudnn安装成功后.jpg

    参考资料

    相关文章

      网友评论

      • 就是杨宗:其实,VS不用装的,不需要编译那个实例程序。
        还是要感谢博主的博文,不过博主写的有点太复杂了,尤其是VS和DirectX那里......
      • ShuangSong:你好,VS2017,右键单击后是菜单列表,没有编译这个选项,是“生成解决方案”吗?
        xushiluo:@ShuangSong 我没在VS2017下编译过,一般是生成解决方案。
      • 雨中的思念_07d1:你好,我想问一下,我在最后一步验证cudnn是否安装成功的时候,显示ModuleNotFoundError: No module named 'tensorflow'是为什么,cundnn的安装过程是正确的
      • Timors:教程就应该这么详细
      • 33a0733b249b:我想问一下有没有人“AttributeError: module 'tensorflow' has no attribute 'Session'”这个错误啊,不明白为什么没有Session了
      • Dreamsong:你好,编译没有deviceQuery.exe文件怎么解决?谢谢
      • 233b799ee019:首先对作者由衷的感谢,很全面很详细很有用。万分感谢。
        其次对于12楼的问题我也遇到了,建议看看http://blog.csdn.net/Kexiii/article/details/77990459
        对于该问题的总结。我有两点进行一下补充,1、该链接提到的环境变量设置问题,确保你的path里有C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin 和 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64 2、就是tensorflow的版本问题,联网的话直接pip install tensorflow-gpu会安装最新版本,就会与楼主的tensorflow_gpu‑0.12.0rc1‑cp35‑cp35m‑win_amd64.whl不一致,最好时网上安装用pip install https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0rc1-cp35-cp35m-win_amd64.whl或者下载楼主的文件离线安装。
        最后,再一次感谢楼主好人,一生平安~
      • 潮潮起落:不错不错,收藏了。

        推荐下,源码圈 300 胖友的书单整理:http://www.yunai.me/Architecture/books-recommended/?jianshu&407


      • 予開長生門:W10下安装一直搞不懂,当然了我是新手😂
      • calabashman:import keras 报错:AttributeError: module 'pandas' has no attribute 'computation'
        是什么情况
      • aimuch:【遇到一个问题】import TensorFlow as tf的时候提示:
        Traceback (most recent call last):
        File "C:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
        return importlib.import_module(mname)
        File "C:\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
        File "<frozen importlib._bootstrap>", line 978, in _gcd_import
        File "<frozen importlib._bootstrap>", line 961, in _find_and_load
        File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
        File "<frozen importlib._bootstrap>", line 648, in _load_unlocked
        return _bootstrap._gcd_import(name[level:], package, level)
        ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'


        Failed to load the native TensorFlow runtime.

        See https://www.tensorflow.org/install/install_sources#common_installation_problems

        for some common reasons and solutions. Include the entire stack trace
        above this error message when asking for help.
        For_freedom:@tobe_677e 谢谢!已经解决了。
        tobe_677e:@For_freedom 2017年10月25日 遇到同样的问题,我的解决方法是 pip install tensorflow-GPU 指定版本,原本默认安装 的是最新的1.3版本,我通过pip install tensorflow-gpu==1.0.1指定安装解决。可能版本太新了
        For_freedom:你好,遇到一样的问题,请问你解决了吗?
      • c5e92a75cdd6:编译CUDA示例程序的时候也出现了缺少'd3dx9.h','d3dx10.h','d3dx11.h'.下载安装DXSDK_Jun10.exe中出错,电脑显示不能安装.NET Framework 3.5(includes .NET 2.0 and 3.0),Error code:0x800F081F. 请问楼主碰到过这种情况吗?
      • 楼夏寅:就是我的tensorflow是能用的(因为是之前装的)但是keras怎么都安装不了
      • baff4c85f0bd:你好,请问你的cuda有备份吗?我在官网下win64位的cuda,每次都是最后差一点点就下载出错了,搞得我好烦。
      • 9dc7a5c94a4d:其实不用安装DirectX SDK也是可以用的
        DX SDK估计是用于图形显示之类的,并行计算GPU加速应该是用不到的
      • dc76c2ede477:装完后spyder打不开,你们是这样吗。。因为import theano报错:Python 3 ImportError: No module named 'ConfigParser'
      • 438f5b5204ca:请问楼主,按照你的步骤安装之后得到这样的结果:
        在Python import keras时会出现
        WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not available (error: cuda unavailable)
        在网上百度了很多方法,都没有成功,请楼主指教~
        感谢!!
        438f5b5204ca:@xushiluo 就是不知道哪里出了问题,现在只能跑CPU,心痛
        438f5b5204ca:@xushiluo
        cmd:nvcc -V
        nvcc: NVIDIA (R) Cuda compiler driver
        Copyright (c) 2005-2016 NVIDIA Corporation
        Built on Mon_Jan__9_17:32:33_CST_2017
        Cuda compilation tools, release 8.0, V8.0.60
        xushiluo: @花火_6704 你的CUDA检查下,是否安装成功了
      • a639bda3122e:你好,对我的收获蛮大,但是我这里有两个问题:1 这里面不需要配置环境变量吗?我看到上面只是说了删除原来配置的变量;2 我是官网上面下载的cuda8,但是我安装之后,没有sample这个文件夹。希望能得到解答,谢谢。
      • 白晓哲:写的最好的cuda安装文章了
        李博星Boxing:写的很好 一步步走下来了 很棒!
        xushiluo:@白晓哲 谢谢!我也是安装过程中,遇到了许多问题。写这篇文章是想让大家少走弯路。
      • 定海小蜗牛:说的很清楚,照着一套全部成功安装下来了!
      • 687b7ce6adc7:说的很清楚,照着一套全部成功安装下来了!
        a639bda3122e:你好,请问接下来是需要设置环境变量吗?

      本文标题:windows 10 64bit下安装Tensorflow+Ke

      本文链接:https://www.haomeiwen.com/subject/zbzqvttx.html