美文网首页TensorFlow
附录A:在 Windows 平台下载及安装 Tensorflow

附录A:在 Windows 平台下载及安装 Tensorflow

作者: 秋的懵懂 | 来源:发表于2018-09-29 09:22 被阅读0次

    时间:2018-09-13 作者:魏文应


    一、说明

    这篇文章的目标是:

    在 windows 系统上,安装 GPU 版本的 Tensorflow 。

    比起 2017 年初,我刚接触 Tensorflow 的时候,现在的 Tensorflow 安装配置方便,好了很多,官方有大量完善的文档,从中我也看到了 Tensorflow 发展迅速。由于国内长城防火墙的存在,谷歌专门在国内架设了一个 tensorflow 国内镜像站

    https://tensorflow.google.cn/

    当然,如果你懂得如何科学上网,你可以访问 tensorflow 国外真正的 官方网站

    https://tensorflow.google.org/

    访问国内镜像站,直接显示的是中文,对于英文阅读能力有限的用户来说,是一件好事。其实,安装时,应该参考官方安装教程:

    https://tensorflow.google.cn/install/

    而其它教程作为辅助教程。安装 CPU 版本的 TensorFlow 是比较容易的,我这里尝试安装 GPU 版本的 TensorFlow ,具体如下:

    • 操作系统:window 7 64位
    • Tensorflow 版本 (GPU版):r1.10
    • GPU 型号: NVIDIA Quadro K620(根据你自己的电脑 GPU 型号而定) 。
    • cuDDN 版本: Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0
    • CUDA 版本: 9.0
    • VScode 版本: 1.27.1
    • Anconda 版本: Anaconda3-5.2.0-Windows-x86_64.exe (一个 Python 3.6的版本)。
    • Python 版本: Python 3.6

    二、下载及安装 CUDA 工具包

    如果你安装的是 CPU 版本的 TensorFlow,那么就不需要安装 CUDA。安装 GPU 版本,需要你的电脑有 NVIDIA GPU 才可以,并且要求算力在 3.5 以上,可以在 NVIDIA 官网查看 GPU 的算力:

    https://developer.nvidia.com/cuda-gpus

    你可以在桌面 鼠标右击,进入 NVIDIA 控制面板,然后查看你的 GPU 型号,确保你的 GPU 性能满足要求。

    下载 CUDA 工具包

    不同版本的 Tensorflow 对应的 CUDA 版本不一样,必须严格对应上,既不向前支持,也不向后支持。比如它要求 9.0,我们就不能整一个 9.2 , 必须是指定的版本。这样,可以有效防止不必要的错误。下载时,应该注意,不是下载最新 CUDA 版本 ,而是下载 CUDA 历史版本

    https://developer.nvidia.com/cuda-toolkit-archive

    CUDA 下载页面

    在上面的历史版本页面中,找到你需要的版本。

    安装 CUDA 工具包

    在 windows 上,安装 .exe 程序是很简单的,就是傻瓜式安装。比如,我这里要下载 CUDA 9.0 版本,下载的包就是 cuda_9.0.176_windows.exe ,点击安装它就可以了。我们需要注意:

    GPU 显卡驱动相关的安装,需要谨慎安装,防止黑屏。

    安装完以后,你可以新建一个额外的环境变量到系统中(这步你可以不做):

    环境变量名:CUDA_PATH
    环境变量值:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
    
    新建环境变量

    三、下载及添加 cuDNN 库

    如果是安装 CPU 版本的 Tensorflow,那么你不需要添加 cuDNN 库。cuDNN 是 CUDA 深度神经网络(Deep Neural Network library)的一个库,以此使 GPU 支持深度神经网络。

    下载 cuDNN 库

    下载 cuDNN 库之前,需要注册 NVIDIA 账号,并填写一份简单问卷调查表,方可以下载。下面是 cuDNN 页面 :

    https://developer.nvidia.com/rdp/cudnn-download

    cuDNN 页面

    注册、登录并填完问卷调查以后,才能进入 cuDNN 下载页面

    https://developer.nvidia.com/rdp/cudnn-download

    cuDNN 下载页面

    我这里下载的是 Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0 也就是 cuDNN 7.0 版本,对应于 CUDA 9.0 。你可以把安装文档下载下来看看:

    cuDNN 具体版本下载页面

    添加 cuDNN 库到 CUDA 中

    事实上,这只是一个软件库,不是可运行的程序,所以谈不上安装。将它放在指定的位置,让 CUDA 能够找它就可以了。将刚才下载下来的 cuDNN 库进行解压,依次将库文件放入对应文件夹中即可:

               cuDNN 相关文件                         复制到                            CUDA 相应目录
    
    cudnn-9.0-windows7-x64-v7\cuda\bin\cudnn64_7.dll 复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\ 
    
    cudnn-9.0-windows7-x64-v7\cuda\include\cudnn.h   复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include\
    
    cudnn-9.0-windows7-x64-v7\cuda\lib\x64\cudnn.lib 复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64\
    
    复制三个文件到对应文件夹中

    这样 cuDNN 就成功添加到了 CUDA 中。

    四、测试显卡

    安装完 CUDA 之后,我们需要看一下是否安装成功,测试一下有没有问题。

    查看显卡信息

    在 cmd 命令行终端中,使用下面命令可以 查看显卡信息

    nvidia-smi
    

    这个就是英伟达 GPU 的控制面板(NVIDIA System Management Interface),它会显示 GPU 相关信息。不过,你需要将 nvidia-smi 命令所在的目录,添加到系统环境变量中,才可以使用这个命令。这个命令一般在下面这个目录中:

    C:\Program Files\NVIDIA Corporation\NVSMI

    查看显卡信息

    查看 CUDA 版本

    可以通过 nvcc -V 命令,查看 CUDA 版本信息:

    查看 CUDA 版本

    五、下载及安装 Anaconda 开发工具

    Anaconda 是用来干嘛的呢?它可以创建运行环境的容器,指定特定的 Python 版本,用户程序可以使用这个 Python 环境来运行他们的 Python 代码。

    下载 Anaconda 工具包

    Anaconda 官网 下载相应的版本的 Anaconda :

    https://www.anaconda.com/download/

    不同版本的 Anaconda 支持的 Python 版本不一样。对于支持 Python2 的版本,统一以 Anaconda 2 开头。对于支持 Python 3 的版本,统一以 Anaconda 3 开头。

    安装 Anaconda 工具包

    如果你在 windows 上安装过 python ,为了不让其起冲突,应该先卸载之前安装的 python,将你之前加入系统环境变量 PATH 中的 python 路径去掉:

    C:\Python27\;C:\Python27\Scripts;C:\Program Files\Python36\Scripts\;C:\Program Files\Python36\;
    

    在 Windows 系统上,傻瓜式安装即可。我这里安装的是 Anaconda3-5.2.0-Windows-x86_64.exe,是一个 python3.6 的版本。安装完以后,将 anconda 相关路径加入系统环境变量中(具体路径根据你的安装路径而定):

    D:\ProgramData\Anaconda3

    D:\ProgramData\Anaconda3\Scripts

    将上面两个路径加入系统环境变量 PATH 以后,输入 python -V 查看版本:

    Anconda 的 Python 版本

    六、下载及安装 TensorFlow

    下载安装

    打开系统的 CMD 命令行终端,通过调用以下命令创建名为 tensorflow 的 conda 环境(名字你可以随便起):

    conda create -n tensorflow pip python=3.6

    图片.png

    这样,就创建了一个名为 tensorflow 的环境,直观的就是在 andconda3 中的 envs 文件夹下,生成一个 tensorflow 文件夹:

    创建的环境位置

    进入 tensorflow 这个文件夹下,发现一个 python.exe ,这个就是我们刚才指定的 python=3.6,并且有一些 Lib 库,一会我们下载的 GPU 版本 tensorflow 就会放在 Lib 库中。envs 每个环境都有一个自己的文件夹,各自用各自文件夹内的版本程序,从而到达版本控制和环境隔离。

    python 位置

    通过下面命令激活 conda 环境:

    activate tensorflow

    在 conda 环境中安装 TensorFlow ,这里是 GPU 版本:

    pip install --ignore-installed --upgrade tensorflow-gpu

    如果你安装的是 CPU 版本,请执行下面命令:

    pip install --ignore-installed --upgrade tensorflow

    测试是否安装成功

    如果你刚才没有退出 tensorflow 的 anconda 环境,那么 tensorflow 环境是处于激活状态的。如果你退出了,可以执行下面命令激活:

    activate tensorflow

    激活以后,命令行终端前面会有一个 tensorflow 的显示,表明你处于 tensorflow 环境中:

    (tensorflow) D:\01_wwy-dir\04_tensorflow-workspace>
    

    接下来,在这个环境中,使用 shell 中的 python :

    python

    然后依次输入以下代码命令:

    >>> import tensorflow as tf
    >>> hello = tf.constant('Hello, TensorFlow!')
    >>> sess = tf.Session()
    >>> print(sess.run(hello))
    

    如果打印出下面内容,说明 tensorflow 正常:

    Hello, TensorFlow!
    

    使用 GPU 可能有下面提示,等待它执行结束就可以了:

    2018-09-18 08:54:00.916576: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
    2018-09-18 08:54:01.315576: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1405] Found device 0 with properties:
    name: Quadro K620 major: 5 minor: 0 memoryClockRate(GHz): 1.124
    pciBusID: 0000:01:00.0
    totalMemory: 2.00GiB freeMemory: 1.71GiB
    2018-09-18 08:54:01.315576: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1484] Adding visible gpu devices: 0
    2018-09-18 08:56:12.501576: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:965] Device interconnect StreamExecutor with strength 1 edge matrix:
    2018-09-18 08:56:12.501576: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:971]      0
    2018-09-18 08:56:12.502576: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:984] 0:   N
    2018-09-18 08:56:12.502576: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1097] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 1460 MB memory) -> physical GPU (device: 0, name: Quadro K620, pci bus id: 0000:01:00.0, compute capability: 5.0)
    

    第一次执行可能时间比较久,等待完成,再次执行一下 print(sess.run(hello)) 就可以了。

    七、错误或者警告处理

    下面的命令执行,是在 windows 系统的 cmd 命令行终端中执行的,你也可以使用 vscode 的命令行终端(快捷键 Ctrl + ` 打开 vscode 集成终端)。注意:执行命令之前要激活 tensorflow 环境:

    activate tensorflow

    因为我们是针对 tensorflow 环境进行安装配置。

    setuptools 版本

    使用过程,可能会发出下面警告信息:

    tensorflow-gpu 1.10.0 has requirement setuptools<=39.1.0, but you'll have setuptools 40.2.0 which is incompatible.
    

    这是叫你进行 setuptools 版本回退,当前安装的 setuptools 工具版本太新,回退到 39.1.0 以前的版本。先卸载 setuptools 工具 :

    pip uninstall setuptools

    再执行安装命令:

    pip install --ignore-installed setuptools==39.1.0

    pip 版本升级提醒

    如果 pip 版本太老,可能会提示你升级:

    You are using pip version 10.0.1, however version 18.0 is available.
    You should consider upgrading via the 'python -m pip install --upgrade pip' command.
    

    执行下面命令,升级即可:

    python -m pip install --upgrade pip

    相关文章

      网友评论

        本文标题:附录A:在 Windows 平台下载及安装 Tensorflow

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