【必看】TensorFlow 2 官方安装指南

这篇《TensorFlow 2 安装指南》节选自由谷歌开发者专家(GDE)李锡涵@snowkylin 编写、广受好评的开源 TensorFlow 入门教程——《简单粗暴TensorFlow 2》,详细介绍了在个人电脑或服务器上安装 TensorFlow 2 的步骤和各种细节,让你第一次安装 TensorFlow 2 就上手!

 

文 /  李锡涵,Google Developers Expert

本文节选自《简单粗暴 TensorFlow 2.0》

 

一般安装步骤

TensorFlow 的 Python 版本使用最为广泛。作为一个 Python 包,TensorFlow 和其他 Python 包的安装方法区别不大,使用 Python 的包管理器 pip 即可。具体步骤如下:

    1. 安装 Python 环境。此处建议安装 Anaconda 。这是一个开源的 Python 发行版本,提供了一个完整的科学计算环境,包括 NumPy、SciPy 等常用科学计算库。当然,你有权选择自己喜欢的 Python 环境。

    2. 使用 Anaconda 自带的 conda 包管理器建立一个 Conda 虚拟环境,并进入该虚拟环境。在命令行下输入以下命令:

# 建立虚拟环境

# “tf2.0”是你建立的 Conda 虚拟环境的名字

# python=3.7 代表该虚拟环境的 Python 版本为 3.7

conda create --name tf2.0 python=3.7

# 进入名为“tensorflow”的虚拟环境

conda activate tf2.0     

 

    3. 使用 Python 包管理器 pip 安装 TensorFlow。在命令行下输入以下命令:

pip install tensorflow==2.0.0-beta1     # TensorFlow CPU 版本

pip install tensorflow-gpu    # TensorFlow GPU 版本,需要具有 NVIDIA 显卡及正确安装驱动程序,详见下文

等待片刻即安装完毕。

 

 

小技巧

也可以使用 conda install tensorflow 或者 conda install tensorflow-gpu 来安装 TensorFlow,不过 conda 源的版本往往更新较慢,难以第一时间获得最新的 TensorFlow 版本;

在 Windows 下,需要打开开始菜单中的 “Anaconda Prompt” 进入 Anaconda 的命令行环境;

在国内环境下,推荐使用 国内的 pypi 镜像 和 Anaconda 镜像 ,将显著提升 pip 和 conda 的下载速度;

如果对磁盘空间要求严格(比如服务器环境),可以安装 Miniconda ,仅包含 Python 和 Conda,其他的包可自己按需安装。

 

pip 和 conda 包管理器

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:端口号

 

Conda 虚拟环境

在 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 安装指南

GPU 版本的 TensorFlow 可以利用 NVIDIA GPU 强大的计算加速能力,使 TensorFlow 的运行更为高效,尤其是可以成倍提升模型训练的速度。

在安装 GPU 版本的 TensorFlow 前,你需要具有一块不太旧的 NVIDIA 显卡,以及正确安装 NVIDIA 显卡驱动程序、CUDA Toolkit 和 cnDNN。

GPU 硬件的准备

TensorFlow 对 NVIDIA 显卡的支持较为完备。对于 NVIDIA 显卡,要求其 CUDA Compute Capability 须不低于3.0,可以到 NVIDIA的官方网站 查询自己所用显卡的CUDA Compute Capability。目前,AMD 的显卡也开始对 TensorFlow 提供支持,可访问 这篇博客文章 查看详情。

 

NVIDIA驱动程序的安装

- Windows

Windows 环境中,如果系统具有 NVIDIA 显卡,则往往已经自动安装了 NVIDIA 显卡驱动程序。如未安装,直接访问 NVIDIA 官方网站 下载并安装对应型号的最新公版驱动程序即可。

 

- Linux

在服务器版Linux系统下,同样访问NVIDIA官方网站下载驱动程序(为 .run 文件),并使用 sudo bash DRIVER_FILE_NAME.run 命令安装驱动即可。在安装之前,可能需要使用 sudo apt-get install build-essential 安装合适的编译环境。

在具有图形界面的桌面版Linux系统上,NVIDIA 显卡驱动程序需要一些额外的配置,否则会出现无法登录等各种错误。如果需要在 Linux 下手动安装 NVIDIA 驱动,注意在安装前进行以下步骤(以 Ubuntu 为例):

  • 禁用系统自带的开源显卡驱动Nouveau(在/etc/modprobe.d/blacklist.conf文件中添加一行blacklist nouveau ,使用sudo update-initramfs -u更新内核,并重启)

  • 禁用主板的 Secure Boot 功能

  • 停用桌面环境 (如sudo service lightdm stop)

  • 删除原有 NVIDIA 驱动程序 (如sudo apt-get purge nvidia*

 

小技巧

对于桌面版Ubuntu系统,有一个很简易的NVIDIA驱动安装方法:在系统设置(System Setting)里面选软件与更新(Software & Updates),然后点选Additional Drivers里面的“Using NVIDIA binary driver”选项并点选右下角的“Apply Changes”即可,系统即会自动安装NVIDIA驱动,但是通过这种安装方式安装的NVIDIA驱动往往版本较旧。

NVIDIA 驱动程序安装完成后,可在命令行下使用nvidia-smi命令检查是否安装成功,若成功则会打印出当前系统安装的 NVIDIA 驱动信息,形式如下:

【必看】TensorFlow 2 官方安装指南_第1张图片

提示

命令nvidia-smi可以查看机器上现有的GPU及使用情况。(在 Windows 下,将 C:\Program Files\NVIDIA Corporation\NVSMI加入 Path 环境变量中即可,或 Windows 10 下可使用任务管理器的“性能”标签查看显卡信息)

更详细的 GPU 环境配置指导可以参考博客文章[1] & [2] 。

 

CUDA Toolkit 和 cnDNN 的安装

在Anaconda环境下,推荐使用:

conda install cudatoolkit=X.X

conda install cudnn=X.X.X

安装 CUDA Toolkit 和 cnDNN,其中 X.X 和 X.X.X 分别为需要安装的 CUDA Toolkit 和 cuDNN 版本号,必须严格按照 TensorFlow 官方网站所说明的版本安装(对于 TensorFlow 2.0 beta1,可以安装版本为 10.0 的 CUDA Toolkit 和版本为 7.6.0 的 cuDNN)。在安装前,可使用conda search cudatoolkitconda search cudnn搜索 conda 源中可用的版本号。

 

当然,也可以按照 TensorFlow 官方网站上的说明 手动下载 CUDA Toolkit 和 cuDNN 并安装,不过过程会稍繁琐。

 

使用 conda 包管理器安装 GPU 版本的 TensorFlow 时,会自动安装对应版本的 CUDA Toolkit 和 cuDNN。conda 源的更新较慢,如果对版本不太介意,推荐直接使用conda install tensorflow-gpu进行安装。

 

 

第一个程序

安装完毕后,我们来编写一个简单的程序来验证安装。

 

在命令行下输入conda activate tensorflow进入之前建立的安装有 TensorFlow 的 Conda 虚拟环境,再输入python进入 Python 环境,逐行输入以下代码:

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 的提示信息,属于正常现象。

 

 

IDE 设置

对于机器学习的研究者和从业者,建议使用 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\,即当前 Windows 用户的用户目录下。

 

对于 TensorFlow 开发而言,PyCharm 的 Professonal 版本非常有用的一个特性是 远程调试 (Remote Debugging)。当你编写程序的终端机性能有限,但又有一台可远程ssh访问的高性能计算机(一般具有高性能 GPU)时,远程调试功能可以让你在终端机编写程序的同时,在远程计算机上调试和运行程序(尤其是训练模型)。你在终端机上对代码和数据的修改可以自动同步到远程机,在实际使用的过程中如同在远程机上编写程序一般,与串流游戏有异曲同工之妙。

 

不过远程调试对网络的稳定性要求高,如果需要长时间训练模型,建议登录远程机终端直接训练模型(Linux 下可以结合nohup命令 ,让进程在后端运行,不受终端退出的影响)。远程调试功能的具体配置步骤见 PyCharm 文档 。

 

小技巧

如果你是学生并有 .edu 结尾的邮箱的话,可以在 这里 申请 PyCharm 的免费 Professional 版本授权。

 

对于 TensorFlow 及深度学习的业余爱好者或者初学者, Visual Studio Code 或者一些在线的交互式 Python 环境(比如免费的 Google Colab )也是不错的选择。Colab 的使用方式可参考附录。

 

 

 

TensorFlow所需的硬件配置 *

提示

对于学习而言,TensorFlow 的硬件门槛并不高。甚至,借助免费或灵活的云端计算资源,只要你有一台能上网的电脑,就能够熟练掌握 TensorFlow!

 

在很多人的刻板印象中,TensorFlow 乃至深度学习是一件非常“吃硬件”的事情,以至于一接触 TensorFlow,第一件事情可能就是想如何升级自己的电脑硬件。不过,TensorFlow 所需的硬件配置很大程度是视任务和使用环境而定的:

  • 对于 TensorFlow 初学者,无需硬件升级也可以很好地学习和掌握 TensorFlow。本手册中的大部分教学示例,大部分当前主流的个人电脑(即使没有 GPU)均可胜任,无需添置其他硬件设备。如果自己的个人电脑难以胜任,可以考虑在云端(例如免费的 Colab )进行模型训练。

  • 对于参加数据科学竞赛(比如 Kaggle)或者经常在本机进行训练的个人爱好者或开发者,一块高性能的 NVIDIA GPU 往往是必要的。CUDA 核心数和显存大小是决定显卡机器学习性能的两个关键参数,前者决定训练速度,后者决定可以训练多大的模型以及训练时的最大 Batch Size,对于较大规模的训练而言尤其敏感。

  • 对于前沿的机器学习研究(尤其是计算机视觉和自然语言处理领域),多 GPU 并行训练是标准配置。为了快速迭代实验结果以及训练更大规模的模型以提升性能,4 卡、8 卡或更高的 GPU 数量是常态。

 

关于深度学习工作站的具体配置,由于硬件行情更新较快,故不在此列出具体配置,推荐关注 知乎问题 - 如何配置一台适用于深度学习的工作站? ,并结合最新市场情况进行配置。

 

本文节选并编译于在线的开源 TensorFlow 2.0 技术手册《简单粗暴 TensorFlow 2.0》。

 

如果也想像大神一样快速进步,别错过 TensorFlow 官方团队在中国大学慕课平台推出的《TensorFlow 入门实操课程》,帮助你了解更多机器学习设计思路和实践模式。立即点击此处学习吧!

观看B站视频,了解更多 TensorFlow 2 的新特性。

TensorFlow 2 新特性


还想获取更多重要资源?记得扫码关注 TensorFlow 官方微信公众号( TensorFlow_official )!

 

你可能感兴趣的:(人工智能,深度学习,机器学习,tensorflow,python)