本指南介绍了如何在 Ubuntu 上安装 TensorFlow。这些指令也可能对其他 Linux 变体起作用, 但是我们只在Ubuntu 14.04 或更高版本上测试了(我们只支持) 这些指令。
一、确定要安装的 TensorFlow
- 仅使用 CPU 支持的 TensorFlow。如果您的系统没有 NVIDIA® GPU, 则必须安装此版本。请注意, 此版本的 TensorFlow 通常更容易安装 (通常在5或10分钟), 因此, 即使您有 NVIDIA® GPU, 我们建议先安装此版本。
- GPU 支持的TensorFlow。TensorFlow 程序在 GPU 上运行的速度通常比在 CPU 上快得多。因此, 如果您的系统有一个 NVIDIA® GPU 满足下面所示的先决条件, 并且您需要高效运行应用程序, 则应最终安装此版本。
二、使用 GPU 支持的 TensorFlow 的 要求
如果您使用本指南中介绍的一种机制来安装 GPU 支持的 TensorFlow , 则必须在您的系统上安装以下 NVIDIA 软件:
- CUDA® Toolkit 8.0。有关详细信息, 请参阅 NVIDIA 的文档。请确保将相关的 Cuda 路径名追加到 LD_LIBRARY_PATH 环境变量中, 如 NVIDIA 文档中所述。
- 与CUDA® Toolkit 8.0 关联的 NVIDIA 驱动程序。
- cuDNN v6.0。有关详细信息, 请参阅 NVIDIA 的文档。确保按照 NVIDIA 文档中的描述,创建 CUDA_HOME 环境变量。
- 具有 CUDA 计算能力3.0 或更高的 GPU 卡。有关支持的 GPU 卡的列表, 请参见 NVIDIA 文档。
- libcupti-dev库, 这是 NVIDIA CUDA 配置文件的工具界面。此库提供高级性能分析支持。要安装此库, 请发出以下命令:
sudo apt-get install libcupti-dev
- 从源码中安装 TensorFlow, 如从源码安装 TensorFlow。
- 至少安装或升级到以下 NVIDIA 版本:
- CUDA toolkit 7.0或更高
- cuDNN v3 或更大
- 具有 CUDA 计算能力3.0 或更高的 GPU 卡。
三、确定如何安装 TensorFlow
1、用 virtualenv安装
请执行以下步骤以 Virtualenv 安装 TensorFlow:
(1)通过发出以下命令之一来安装 pip 和 virtualenv:
sudo apt-get install python-pip python-dev python-virtualenv # for Python 2.7 sudo apt-get install python3-pip python3-dev python-virtualenv # for Python 3.n
(2)通过发出以下命令之一来创建 virtualenv 环境:
virtualenv --system-site-packages targetDirectory # for Python 2.7 virtualenv --system-site-packages -p python3 targetDirectory # for Python 3.n
其中 targetDirectory 指定 virtualenv tree的顶部。我们的指示假定 targetDirectory 是~/ tensorflow, 但您可以选择任何目录。
(3)通过发出以下命令之一来激活 virtualenv 环境:
source ~/tensorflow/bin/activate # bash, sh, ksh, or zsh
source ~/tensorflow/bin/activate.csh # csh or tcsh
源代码命令前面提示将更改为以下内容:
(tensorflow)$
(4)确保已安装 pip ≥8.1:
(tensorflow)$ easy_install -U pip
(5)在激活的virtualenv 环境中, 发出以下命令之一以安装 TensorFlow:
(tensorflow)$ pip install --upgrade tensorflow # for Python 2.7 (tensorflow)$ pip3 install --upgrade tensorflow # for Python 3.n (tensorflow)$ pip install --upgrade tensorflow-gpu # for Python 2.7 and GPU (tensorflow)$ pip3 install --upgrade tensorflow-gpu # for Python 3.n and GPU
如果前面的命令成功, 请跳过步骤6。如果前面的命令失败, 请执行步骤6。
(6)(可选)如果步骤5失败 (通常是因为您调用的 pip 版本低于 8.1), 请通过发出以下格式的命令在激活virtualenv 环境中安装 TensorFlow:
(tensorflow)$ pip install --upgrade tfBinaryURL # Python 2.7 (tensorflow)$ pip3 install --upgrade tfBinaryURL # Python 3.n
其中 tfBinaryURL 标识了 TensorFlow Python 包的 URL。tfBinaryURL 取决于操作系统、Python 版本和 GPU 。在这里为您的系统找到合适的 tfBinaryURL 。例如, 如果您要安装 Linux、Python 3.4 和仅支持 CPU 的 TensorFlow, 请发出以下命令以在激活的 virtualenv 环境中安装 TensorFlow:
(tensorflow)$ pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.1-cp34-cp34m-linux_x86_64.whl
如果遇到安装问题, 请参阅常见安装问题。
$ source ~/tensorflow/bin/activate # bash, sh, ksh, or zsh $ source ~/tensorflow/bin/activate.csh # csh or tcsh
当 virtualenv 环境处于活激活态时, 您可以从该 shell 运行 TensorFlow 程序。您的提示将成为以下的样子,指示您的 tensorflow 环境处于激活状态:
(tensorflow)$
使用 TensorFlow 用完后, 您可以通过调用停用函数来停用环境, 如下所示:
(tensorflow)$ deactivate
提示符将恢复到您的默认提示 (由 PS1 环境变量定义)。
$ rm -r targetDirectory
2、使用本机 pip 安装
- Python 2.7
- Python 3.4 +
$ sudo apt-get install python-pip python-dev # for Python 2.7 $ sudo apt-get install python3-pip python3-dev # for Python 3.n
(2)安装 TensorFlow
$ pip install tensorflow # Python 2.7; CPU support (no GPU support) $ pip3 install tensorflow # Python 3.n; CPU support (no GPU support) $ pip install tensorflow-gpu # Python 2.7; GPU support $ pip3 install tensorflow-gpu # Python 3.n; GPU support
如果前面的命令运行完成了, 您现在应该验证您的安装。
b)(可选)如果步骤a)失败, 请通过发出以下格式的命令来安装最新版本的 TensorFlow:
$ sudo pip install --upgrade tfBinaryURL # Python 2.7 $ sudo pip3 install --upgrade tfBinaryURL # Python 3.n
其中 tfBinaryURL 标识了 TensorFlow Python 包的 URL。tfBinaryURL 的适当值取决于操作系统、Python 版本和 GPU 。在这里找到合适的 tfBinaryURL 值。例如, 要安装 Linux、Python 3.4 和仅支持 CPU 的 TensorFlow, 请发出以下命令:
$ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.1-cp34-cp34m-linux_x86_64.whl
如果此步骤失败, 请参阅常见安装问题。
$ sudo pip uninstall tensorflow # for Python 2.7 $ sudo pip3 uninstall tensorflow # for Python 3.n
3、使用Docker安装
未翻译,详见官方文档。
4、使用Anaconda安装
(1)按照Anaconda下载网站上的说明下载并安装Anaconda。
(2)创建一个名为 tensorflow 的conda环境, 通过调用以下命令来运行 Python 版本:
$ conda create -n tensorflow python=2.7 # or python=3.3, etc.
(3)通过发出以下命令来激活conda环境:
$ source activate tensorflow (tensorflow)$ # Your prompt should change
(4)发出以下格式的命令, 以便在您的conda环境中安装 TensorFlow:
(tensorflow)$ pip install --ignore-installed --upgrade tfBinaryURL
其中 tfBinaryURL 是 TensorFlow Python 包的 URL。例如, 下面的命令为 Python 3.4 安装 TensorFlow 的 CPU 版本:
(tensorflow)$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.1-cp34-cp34m-linux_x86_64.whl
四、不同python版本的TensorFlow的URL
Python 2.7
- CPU only:
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.1-cp27-none-linux_x86_64.whl
- GPU support:
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.4.1-cp27-none-linux_x86_64.whl
Python 3.4
- CPU only:
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.1-cp34-cp34m-linux_x86_64.whl
- GPU support:
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.4.1-cp34-cp34m-linux_x86_64.whl
Python 3.5
- CPU only:
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.1-cp35-cp35m-linux_x86_64.whl
- GPU support:
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.4.1-cp35-cp35m-linux_x86_64.whl
Python 3.6
- CPU only:
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.1-cp36-cp36m-linux_x86_64.whl
- GPU support:
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.4.1-cp36-cp36m-linux_x86_64.whl
五、验证您的安装
- 确保您的环境准备好了,然后运行 TensorFlow 程序。
- 运行一个简短的 TensorFlow 程序。
$ docker run -it gcr.io/tensorflow/tensorflow bash
2、运行一个简短的TensorFlow 程序
从 shell 中调用 python, 如下所示:
$ python
在 python 交互 shell 中输入以下短程序:
# Python import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello))
如果系统输出以下内容, 则您准备开始编写 TensorFlow 程序:
Hello, TensorFlow!
-------------------------------------
参考链接:
1、Installing TensorFlow on Ubuntu: https://www.tensorflow.org/install/install_linux#top_of_page