3.3 TensorFlow安装
我们可以在多个平台上安装和使用TensorFlow,例如Linux、Mac OS和Windows。当然,我们也可以使用TensorFlow最新的GitHub源来构建和安装TensorFlow。此外,如果我们的电脑运行的是Windows系统,那么比较常用的是通过Anaconda来安装TensorFlow。
由于Python 3附带了pip3包管理器,它是用于安装TensorFlow的程序,因此如果我们使用的是Python的这个版本,就无须安装pip。为简单起见,在本节中将展示如何使用本机pip安装TensorFlow。下面给出在Windows系统下安装TensorFlow的两个命令。启动一个“终端”程序,然后在该“终端”中执行相应的pip3 install命令。
(1)要安装TensorFlow的CPU版本,输入以下命令:
C:\> pip3 install --upgrade tensorflow
(2)要安装TensorFlow的GPU版本,输入以下命令:
C:\> pip3 install --upgrade tensorflow-gpu
在Linux方面,TensorFlow Python API支持Python 2.7和Python 3.3+,因此我们需要安装Python才能启动TensorFlow安装。我们必须安装Cuda Toolkit 7.5和cuDNN v5.1 +才能获得GPU支持。笔者使用的是Ubuntu系统,是采用pip3的命令来安装TensorFlow的,更多信息也可以参考https://tensorflow.google.cn/install/source上的说明。
在Linux上安装TensorFlow
这里将给出如何在Ubuntu 14.04或更高版本上安装TensorFlow。此处提供的说明可能也适用于Linux其他版本,只需进行少量的调整即可。
但是,在继续执行正式步骤之前,我们需要确定在平台上安装哪个TensorFlow,我们可以在GPU和CPU上运行数据密集型张量应用程序。因此,应该选择以下TensorFlow两种版本中的一个,在我们的平台上进行安装:
- 仅支持CPU的TensorFlow:如果计算机上没有安装NVIDIA等GPU,就必须使用此版本安装并开始计算。这个很简单,可以在5到10分钟内完成。
- 支持GPU的TensorFlow:深度学习应用程序通常需要非常高的计算资源,TensorFlow也不例外,我们通常可以在GPU上而不是在CPU上加快数据计算和分析速度。如果你的计算机上有NVIDIAGPU硬件,你应该安装并使用此版本。
根据我们的经验,即使计算机上集成了NVIDIA GPU硬件,也有必要安装并首先尝试仅使用CPU的版本,如果你没有体验到良好的性能,那么再切换到GPU来进行支持。
支持GPU的TensorFlow版本有几个要求,例如64位Linux、Python 2.7(或Python 3的3.3+),NVIDIACUDA7.5或更高版本(Pascal GPU需要CUDA 8.0)和NVIDIA cuDNN v4.0(最小)或v5.1(推荐)。更具体地说,TensorFlow的当前开发仅支持使用NVIDIA工具包和软件的GPU计算。因此,必须在Linux计算机上安装以下软件才能使得预测分析应用程序获得GPU的支持:
- Python
- NVIDIA Driver
- CUDA with compute capability >= 3.0
- CuDNN
- TensorFlow
1. 安装Python和NVIDIA驱动程序
在不同的平台上安装Python的操作相对比较简单,这里不再赘述。另外,假设你的计算机中已经安装了NVIDIA GPU。
要检查一下你的计算机中的GPU是否已正确安装和正常工作,请在终端上执行以下命令:
$ lspci -nnk | grep -i nvidia
由于预测分析很大程度上依赖于机器学习和深度学习算法,因此请确保你的计算机上安装了一些基本软件包,例如GCC和一些用于科学计算的Python软件包。
只需在终端上执行如下命令:
$ sudo apt-get update $ sudo apt-get install libglu1-mesa libxi-dev libxmu-dev -y $ sudo apt-get — yes install build-essential $ sudo apt-get install python-pip python-dev -y $ sudo apt-get install python-numpy python-scipy -y
现在通过wget下载NVIDIA驱动程序(不要忘记为你的计算机选择正确的版本),并以silent模式运行脚本:
$ wget http://us.download.nvidia.com/XFree86/Linux-x86_64/367.44/NVIDIA-Linux-x86_64- 367.44.run $ sudo chmod +x NVIDIA-Linux-x86_64-367.35.run $ ./NVIDIA-Linux-x86_64-367.35.run --silent
一些GPU显卡,如NVidia GTX 1080,附带内置驱动程序。因此,如果你的计算机具有不同于GTX 1080的GPU,就必须下载该GPU的驱动程序。
要确保驱动程序是否已正确安装,请在终端上执行以下命令:
$ nvidia-smi
命令的结果应如图3-1所示。
图3-1 nvidia-smi命令的输出结果
2. 安装NVIDIA CUDA
为了将TensorFlow与NVIDIA GPU配合使用,需要安装CUDA Toolkit 8.0及其相关的NVIDIA驱动程序。CUDA工具包包括:
- GPU加速库,如用于快速傅里叶变换的cuFFT(FFT)。
- 基本线性代数子程序(BLAS)的cuBLAS。
- 稀疏矩阵例程的cuSPARSE。
- 用于密集和稀疏的直接求解器的cuSOLVER。
- 用于随机数生成的cuRAND,用于图像的NPP和视频处理原语。
- NVIDIA图形分析库的nvGRICH。
- 推力模板并行算法和数据结构专用的CUDA数学库。
对于Linux,下载和安装所需的包:
https://developer.nvidia.com/cuda-downloads
使用的wget命令如下:
$ wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_ installers/cuda_8.0.61_375.26_linux-run $ sudo chmod +x cuda_8.0.61_375.26_linux.run $ ./ cuda_8.0.61_375.26_linux.run --driver --silent $ ./ cuda_8.0.61_375.26_linux.run --toolkit --silent $ ./ cuda_8.0.61_375.26_linux.run --samples -silent
另外,确保你已经将CUDA安装路径添加到LD_LIBRARY_PATH环境变量中:
$ echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/ usr/local/cuda/extras/CUPTI/lib64"' >> ~/.bashrc $ echo 'export CUDA_HOME=/usr/local/cuda' >> ~/.bashrc $ source ~/.bashrc
3. 安装NVIDIA cuDNN v5.1+
安装CUDA Toolkit后,从Linux上下载cuDNN v5.1库,解压缩文件并将其复制到CUDA Toolkit目录(假设在/ usr / local / cuda /中):
$ cd /usr/local $sudo mkdir cuda $ cd ~/Downloads/ $ wget http://developer2.download.nvidia.com/compute/machine-learning/ cudnn/secure/v6/prod/8.0_20170427/cudnn-8.0-linux-x64-v6.0.tgz $ sudo tar -xvzf cudnn-8.0-linux-x64-v6.0.tgz $ cp cuda/lib64/* /usr/local/cuda/lib64/ $ cp cuda/include/cudnn.h /usr/local/cuda/include/
注意,要安装cuDNN v5.1库,我们必须在https://developer.nvidia.com/accelerated-computing(-?)developer上注册加速计算开发程序。现在,当安装了cuDNN v5.1库之后,请确保创建了CUDA_HOME环境变量。
4. 安装libcupti-dev库
最后,需要在你的计算机上安装libcupti-dev库,这是提供高级分析支持的NVIDIA CUDA。要安装此库,请执行以下命令:
$ sudo apt-get install libcupti-dev
5. 安装TensorFlow
有关如何为CPU安装最新版本的TensorFlow,以及如何为具有NVIDIA、cuDNN和CUDA计算能力的GPU提供支持,请参阅下面的部分。可以在计算机上以多种方式安装TensorFlow,比如使用virtualenv、pip、Docker和Anaconda。这里使用pip和virtualenv方式。(有兴趣的读者可以尝试使用Docker和Anaconda安装,详见https://tensorflow.google.cn/install/。)
(1)使用本地pip安装TensorFlow
对于Python 2.7,仅支持CPU版本的,具体如下:
$ pip install tensorflow # For Python 3.x and of course with only CPU support: $ pip3 install tensorflow # For Python 2.7 and of course with GPU support: $ pip install tensorflow-gpu # For Python 3.x and of course with GPU support: $ pip3 install tensorflow-gpu
(2)使用virtualenv安装TensorFlow
如果你已经在系统上安装了Python 2+(或3+)和pip(或pip3),请按照以下步骤安装TensorFlow。
①创建virtualenv环境:
$ virtualenv --system-site-packages targetDirectory
targetDirectory表示virtualenv树的根目录。默认情况下,它是~/ tensorflow(也可以选择任何其他目录)。
②按如下方式激活virtualenv环境:
如果命令在步骤2中执行成功,那么在“终端”程序中上应该可以看到以下内容:
(tensorflow)$
③安装TensorFlow。
按照以下命令之一在激活的virtualenv环境中安装TensorFlow。
对于仅支持CPU的Python 2.7,请使用以下命令:
(tensorflow)$ pip install --upgrade tensorflow
对于仅支持CPU的Python 3.x,请使用以下命令:
(tensorflow)$ pip3 install --upgrade tensorflow
对于支持GPU的Python 2.7,请使用以下命令:
(tensorflow)$ pip install --upgrade tensorflow-gpu
对于仅支持GPU的Python 3.x,请使用以下命令:
(tensorflow)$ pip3 install --upgrade tensorflow-gpu
如果上述命令成功,就跳过步骤5;如果上述命令失败,请执行步骤5。此外,如果步骤3以某种方式失败,请尝试通过执行以下命令以在激活的virtualenv环境中安装TensorFlow:
#对于 python 2.7(选择具有CPU或GPU支持的适当URL): (tensorflow)$ pip install --upgrade TF_PYTHON_URL #对于 python 3.x(选择具有CPU或GPU支持的适当URL): (tensorflow)$ pip3 install --upgrade TF_PYTHON_URL
④验证安装。
要在步骤3中验证安装,必须激活虚拟环境。如果virtualenv环境当前未处于激活状态,请执行以下命令之一:
$ source ~/tensorflow/bin/activate # bash, sh, ksh, or zsh $ source ~/tensorflow/bin/activate.csh # csh or tcsh
⑤卸载TensorFlow。
要卸载TensorFlow,只需删除创建的目录树即可。例如:
$ rm -r targetDirectory
6. 测试安装的TensorFlow
启动一个Python终端(只需在终端上输入python或python3),执行一段常见的“Hello,TensorFlow!”程序,代码行如下:
>>> import tensorflow as tf >>> hello = tf.constant("Hello, TensorFlow!") >>> sess=tf.Session() >>> print sess.run(hello)
如果TensorFlow安装成功,我们将看到输出结果为“Hello, TensorFlow!”。