Windows 安装 tensorflow-gpu
准备工作
下面列出了笔者测试成功的环境,使用其它的版本可能出现不可预料的情况。
硬件
图形卡
根据 Tensorflow 官网上对于 GPU 支持的描述,需要 CUDA® 计算能力为 3.5 或更高的 NVIDIA® GPU 卡。大部分主流 N 卡都能满足这一点,如果不确定的话,可以在官网上查看:CUDA GPUs。笔者使用了一块 NVIDIA GeForce RTX 2070 进行测试。其它
其它硬件达到主流配置即可。
软件
Windows 系统
由于 macOS Mojave 的 N 卡驱动迟迟没有更新(据说是苹果已经抛弃了 N 卡,未来很有可能不会再更新驱动);并且 Tensorflow 官方已经不再推出适配 macOS 的tensorflow-gpu
了,需要自己编译;因而使用 Windows 或者 Linux 系统会是更好的选择。笔者使用的是 Windows 10。显卡驱动程序
在连接到网络时,Windows 10 会自动下载安装显卡驱动,但可能不是最新版本。建议通过 GeForce Experience 管理驱动程序。CUDA
tensorflow-gpu
依赖于 CUDA,需要到 NVIDIA 官网上的 CUDA Zone 下载。Tensorflow 官网中会给出支持的 CUDA 版本号,下载时选择对应的版本即可(例如 v10.0),因为最新的版本可能不被 tensorflow 所支持。历史版本可以在这里查看:CUDA Toolkit Archive。cuDNN
cuDNN 的全称为 NVIDIA CUDA® Deep Neural Network library,是 NVIDIA 专门针对深度神经网络(Deep Neural Networks)中的基础操作而设计基于 GPU 的加速库。这也是一个重要依赖,需要准备好。其主页是 NVIDIA cuDNN,下载需要注册账号,不过也可以选择微信快捷登陆。同样需要注意的是,要正确选择与 CUDA 对应的 cuDNN 版本。本文发布时,与 CUDA 10.0 兼容的最新版本 cuDNN 为 v7.6.0。Python
笔者使用的是 Python 3.7.0。安装好之后确保能够通过 PowerShell 执行python
和pip
即可。tensorflow-gpu
安装tensorflow-gpu
的方法也有很多,例如 Anaconda 或者 pip。如果不想折腾环境,直接从这里找一个 wheel 就行了:tensorflow-gpu · PyPI。需要根据自己的系统和 Python 版本选择,例如tensorflow_gpu-1.13.1-cp37-cp37m-win_amd64.whl
。
安装
安装 CUDA
安装过程并不复杂。运行从 NVIDIA 官网上下载的 CUDA 安装程序,将其安装在默认目录下即可。以 10.0 版本为例,如果一切正常,相关组件会出现在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
目录下。
安装 cuDNN
解压 cuDNN 的安装包,会得到一个文件夹,将其打开后,可以看到名为 bin
,include
和 lib
的子目录。而在前面所说的 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
目录下也有这样几个子目录。因此,直接将 cuDNN 的相关文件复制合并进对应的目录即可。
安装 tensorflow-gpu
以 PowerShell 为例,将 CUDA 相关组件添加至环境变量:
1 | $Env:path=$Env:Path+";C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64;" |
完成后,cd 进入下载的 whl 文件所在目录,使用 pip 安装即可
1 | pip install tensorflow_gpu-1.13.1-cp37-cp37m-win_amd64.whl |
pip
会自动下载所需的依赖。
运行
如果一切顺利,打开 Python,执行
1 | import tensorflow as tf |
不报错的话,就安装成功了。
本文更新于 2020 年 12 月 8 日:
Tensorflow 2.0 的安装方式更加简单。在安装好支持的 CUDA(现为 v10.1)和 cuDNN 后,可以直接执行
1 | pip install tensorflow |
测试的方法是
1 | import tensorflow as tf |
如果提示动态库加载失败,可以设置环境变量或重启计算机。