安装 Python 环境。此处建议安装 Anaconda 的 Python 3.7 64 位版本(后文均以此为准),这是一个开源的 Python 发行版本,提供了一个完整的科学计算环境,包括 NumPy、SciPy 等常用科学计算库。当然,你有权选择自己喜欢的 Python 环境。Anaconda 的安装包可在 这里 获得。
使用 Anaconda 自带的 conda 包管理器建立一个 Conda 虚拟环境,并进入该虚拟环境。在命令行下输入:
conda create --name tf2 python=3.7 # “tf2”是你建立的conda虚拟环境的名字
conda activate tf2 # 进入名为“tf2”的conda虚拟环境
使用 Python 包管理器 pip 安装 TensorFlow。在命令行下输入:
pip install tensorflow
等待片刻即安装完毕。
也可以使用 conda install tensorflow
来安装 TensorFlow,不过 conda 源的版本往往更新较慢,难以第一时间获得最新的 TensorFlow 版本;
从 TensorFlow 2.1 开始,pip 包 tensorflow
即同时包含 GPU 支持,无需通过特定的 pip 包 tensorflow-gpu
安装 GPU 版本。如果对 pip 包的大小敏感,可使用 tensorflow-cpu
包安装仅支持 CPU 的 TensorFlow 版本。
在 Windows 下,需要打开开始菜单中的 “Anaconda Prompt” 进入 Anaconda 的命令行环境;
如果默认的 pip 和 conda 网络连接速度慢,可以尝试使用镜像,将显著提升 pip 和 conda 的下载速度(具体效果视您所在的网络环境而定);
清华大学的 pypi 镜像:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
清华大学的 Anaconda 镜像:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
参考文章(清华镜像加速python库的安装)
如果对磁盘空间要求严格(比如服务器环境),可以安装 Miniconda ,仅包含 Python 和 Conda,其他的包可自己按需安装。Miniconda 的安装包可在 这里 获得。
如果在 pip 安装 TensorFlow 时出现了 “Could not find a version that satisfies the requirement tensorflow” 提示,比较大的可能性是你使用了 32 位(x86)的 Python 环境。请更换为 64 位的 Python。可以通过在命令行里输入 python
进入 Python 交互界面,查看进入界面时的提示信息来判断 Python 是 32 位(如 [MSC v.XXXX 32 bit (Intel)]
)还是 64 位(如 [MSC v.XXXX 64 bit (AMD64)]
)来判断 Python 的平台。
pip 是最为广泛使用的 Python 包管理器,可以帮助我们获得最新的 Python 包并进行管理。常用命令如下:
pip install [package-name] # 安装名为[package-name]的包
pip install [package-name]==X.X # 安装名为[package-name]的包并指定版本X.X
pip install [package-name] --proxy=代理服务器IP:端口号 # 使用代理服务器安装
pip install [package-name] --upgrade # 更新名为[package-name]的包
pip uninstall [package-name] # 删除名为[package-name]的包
pip list # 列出当前环境下已安装的所有包
conda 包管理器是 Anaconda 自带的包管理器,可以帮助我们在 conda 环境下轻松地安装各种包。相较于 pip 而言,conda 的通用性更强(不仅是 Python 包,其他包如 CUDA Toolkit 和 cuDNN 也可以安装),但 conda 源的版本更新往往较慢。常用命令如下:
conda install [package-name] # 安装名为[package-name]的包
conda install [package-name]=X.X # 安装名为[package-name]的包并指定版本X.X
conda update [package-name] # 更新名为[package-name]的包
conda remove [package-name] # 删除名为[package-name]的包
conda list # 列出当前环境下已安装的所有包
conda search [package-name] # 列出名为[package-name]的包在conda源中的所有可用版本
conda 中配置代理:在用户目录下的 .condarc 文件中添加以下内容:
proxy_servers:
http: http://代理服务器IP:端口号
在 Python 开发中,很多时候我们希望每个应用有一个独立的 Python 环境(比如应用 1 需要用到 TensorFlow 1.X,而应用 2 使用 TensorFlow 2.0)。这时,Conda 虚拟环境即可为一个应用创建一套 “隔离” 的 Python 运行环境。使用 Python 的包管理器 conda 即可轻松地创建 Conda 虚拟环境。常用命令如下:
conda create --name [env-name] # 建立名为[env-name]的Conda虚拟环境
conda activate [env-name] # 进入名为[env-name]的Conda虚拟环境
conda deactivate # 退出当前的Conda虚拟环境
conda env remove --name [env-name] # 删除名为[env-name]的Conda虚拟环境
conda env list # 列出所有Conda虚拟环境
GPU 版本的 TensorFlow 可以利用 NVIDIA GPU 强大的计算加速能力,使 TensorFlow 的运行更为高效,尤其是可以成倍提升模型训练的速度。
在安装 GPU 版本的 TensorFlow 前,你需要具有一块不太旧的 NVIDIA 显卡,以及正确安装 NVIDIA 显卡驱动程序、CUDA Toolkit 和 cuDNN。
TensorFlow 对 NVIDIA 显卡的支持较为完备。对于 NVIDIA 显卡,要求其 CUDA Compute Capability 须不低于 3.5,可以到 NVIDIA 的官方网站 查询自己所用显卡的 CUDA Compute Capability。目前,AMD 的显卡也开始对 TensorFlow 提供支持。
Windows
Windows 环境中,如果系统具有 NVIDIA 显卡,则往往已经自动安装了 NVIDIA 显卡驱动程序。如未安装,直接访问 NVIDIA 官方网站 下载并安装对应型号的最新公版驱动程序即可。
至于Linux和Ubuntu 等系统,请自行查阅资料。
在 Anaconda 环境下,推荐使用
conda install cudatoolkit=X.X
conda install cudnn=X.X.X
安装 CUDA Toolkit 和 cuDNN,其中 X.X 和 X.X.X 分别为需要安装的 CUDA Toolkit 和 cuDNN 版本号,必须严格按照 TensorFlow 官方网站所说明的版本 安装。例如,对于 TensorFlow 2.1,可使用:
conda install cudatoolkit=10.1
conda install cudnn=7.6.5
在安装前,可使用 conda search cudatoolkit
和 conda search cudnn
搜索 conda 源中可用的版本号。
当然,也可以按照 TensorFlow 官方网站上的说明 手动下载 CUDA Toolkit 和 cuDNN 并安装,不过过程会稍繁琐。
可参考博文(tensorflow各个版本的CUDA以及Cudnn版本对应关系)。
当然,看安装正常与否,是测试代码是否能正常运行,安装完毕后,我们来编写一个简单的程序来验证安装。
在命令行下输入 conda activate tf2
进入之前建立的安装有 TensorFlow 的 Conda 虚拟环境,再输入jupyter notebook
进入 jupyter 中(jupyter在新版anaconda中都自带的有,如果没有就conda install jupyter notebook
安装,更改其默认起始目录见,windows下设置JupyterNotebook默认目录),逐行输入以下代码:
import tensorflow as tf
A = tf.constant([[1, 2], [3, 4]])
B = tf.constant([[5, 6], [7, 8]])
C = tf.matmul(A, B)
print(C)
如果能够最终输出:
tf.Tensor(
[[19 22]
[43 50]], shape=(2, 2), dtype=int32)
说明 TensorFlow 已安装成功。运行途中可能会输出一些 TensorFlow 的提示信息,属于正常现象。
如果你在 Windows 下安装了 TensorFlow 2.1 正式版,可能会在导入 TensorFlow 时出现 DLL 载入错误 。此时安装 Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 即可正常使用。
如果你的 CPU 年代比较久远或型号较为低端(例如,英特尔的 Atom 系列处理器),可能会在导入 TensorFlow 时直接崩溃。这是由于 TensorFlow 在版本 1.6 及之后,在官方编译版本中默认加入了 AVX 指令集。如果你的 CPU 不支持 AVX 指令集就会报错(你可以在 Windows 下使用 CPU-Z,或在 Linux 下使用 cat /proc/cpuinfo
查看当前 CPU 的指令集支持)。此时,建议结合自己的软硬件环境,使用社区编译版本进行安装,例如 GitHub 上的 yaroslavvb/tensorflow-community-wheels 。截至 2020 年 6 月,这个 Issue 里包含了去除 AVX 后,Ubuntu 下编译的最新版 TensorFlow。如果你的动手能力较强,也可以考虑在自己的平台下重新编译 TensorFlow。
学习python语言的基础可以看“老男孩教育”的视频,B站上有,可以配套看《Python快速入门神器》
对于机器学习的研究者和从业者,建议使用 PyCharm 作为 Python 开发的 IDE。
在新建项目时,你需要选定项目的 Python Interpreter,也就是用怎样的 Python 环境来运行你的项目。在安装部分,你所建立的每个 Conda 虚拟环境其实都有一个自己独立的 Python Interpreter,你只需要将它们添加进来即可。选择 “Add”,并在接下来的窗口选择 “Existing Environment”,在 Interpreter 处选择 Anaconda安装目录/envs/所需要添加的Conda环境名字/python.exe
(Linux 下无 .exe
后缀)并点击 “OK” 即可。如果选中了 “Make available to all projects”,则在所有项目中都可以选择该 Python Interpreter。注意,在 Windows 下 Anaconda 的默认安装目录比较特殊,一般为 C:\Users\用户名\Anaconda3\
或 C:\Users\用户名\AppData\Local\Continuum\anaconda3
。此处 AppData
是隐藏文件夹。