最近入坑 TensorFlow,没想到光安装框架就遇到了一系列的坑,耽误大量时间。
需要自己手动安装 3 个东西,CPU 版只需要 Python 3.7 即可:
我把所有要用到的安装包(都是 Win10 版本)收集在 这里 了(2020.6.24)。
请不要在没有去 官方说明 确认过的情况下,自行选择其他版本,因为目前已知 Python 3.8 与 TensorFlow 2.2 存在兼容问题,高版本的 CUDA 和 CUDnn 也不受支持。如果想使用更新的版本,务必去官网确认一下。
Python 3.7 的其他子版本,如 3.7.5 等,可以正常使用。
请在“程序和功能”里完整卸载 所有 其他版本的 Python,稍后我们安装 3.7;不需要卸载 Anaconda。
这一步是针对之前在 Windows 下、以安装包的形式装过 Python 3.8 及以上,或3.4 及以下的人。TensorFlow 目前仅支持 3.5~3.7,由于大家喜闻乐见的 Windows 开放式特色,即使在 VirtualEnv 下运行 pip,它也会调用 3.8 里的 pip,使得版本共存问题愈发混乱。
如果有 十足的 自信和经验能自行管理好 Windows 上的 Python 版本,可以忽略本步骤。
这个比较简单,建议勾选“Add to PATH”选项方便使用,但不影响实际功能。完全零基础的朋友可以参考 这篇文章,写的比较详细。
安装完毕后,Win + R 运行一下命令 python
或 py
,如果弹出了写有 Python 3.7 字样的黑窗口,说明 Python 已经就绪。
CUDA 安装包内是包含显卡驱动的,CUDA 10.1 要求显卡驱动版本不低于 418.x,因此如果驱动版本不够,就需要勾选安装驱动。
装好 CUDA 以后 CUDnn 就容易安装了。将下载好的 CUDnn 压缩包解压,将解压出的几个文件夹放入 CUDA 安装目录(默认为 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
)即可,如下图:
检查自己计算机的环境变量 PATH 中是否有 CUDA 的安装路径,如果有则说明安装成功。不会查看环境变量的可以参考 这篇文章。
Python 开发中有“环境”的概念,也就是说,最好给每个项目建立一个自己的虚拟环境,在虚拟环境下安装项目用到的模块,这样要比在计算机上直接安装模块更容易管理,也避免了误操作的风险。因此,每当你想要创建一个新 TensorFlow 项目时,最好是连环境一起新建,并在虚拟环境中重新安装 TensorFlow。
Anaconda 的主要功能就是便于虚拟环境的管理,但结合包括我在内 一部分人的使用体验 来看,它实际上让这个过程更麻烦了。我们使用 VirtualEnv 来创建虚拟环境、安装 TensorFlow;如果执意要用 Anaconda 来创建虚拟环境,可以参考其他文章。
由于众所周知的原因,国内用 Pip 等安装模块的速度比较感人,请先参照 这篇文章 来给 Pip 换成国内镜像源,以加快 TensorFlow 的下载速度。
venv
,这里 有详细的使用教程,廖雪峰博客的教程 也非常好;(venv)
字样)执行:python -m pip install tensorflow-gpu
y
继续安装至完成;python
打开 Python 交互式窗口,输入以下代码:import tensorflow as tf
返回信息:(时间): I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
print(tf.constant([1.0, 2.0]))
不用理会闪过的一系列 CUDA 初始化成功的信息,最后(或者其中某一行)显示:tf.Tensor([1. 2.], shape=(2,), dtype=float32)
则表示 TensorFlow 已经正确安装。前面的操作如果嫌麻烦,建议用个 IDE 来辅助操作。比如用 PyCharm 做 Python 开发非常方便,创建虚拟环境的步骤是图形化的,不需要敲命令。这个软件的专业版收订阅费,社区版是免费开源的(初学者完全够用)。
JetBrains 看到了请给我广告费,谢谢。
C:\Program Files\JetBrains\PyCharm 20xx.x.x\bin
),右键点击 pycharm64.exe
进入属性 → 兼容性 → 勾选“以管理员身份运行此程序”,并确定,如图:python -m pip install tensorflow-gpu
询问是否继续时输入 y
继续安装至完成;main.py
,编辑该文件,输入如下代码:import tensorflow as tf
a = tf.constant([1.0, 2.0])
print(a)
保存文件;import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1'
至此,完成了 TensorFlow 的安装和配置。