【TensorFlow实战——笔记】第3章:TensorFlow第一步_TensorFlow的编译及安装

3.1 TensorFlow的编译及安装

安装有两种情况

  • 使用CPU,安装容易
  • 使用GPU,需要先安装CUDA和cuDNN,比较复杂

不管哪种情况,我们都推荐使用Anaconda作为Python的环境,因为可以避免大量的兼容性问题。

TensorFlow目前支持比较完善的是Linux和Mac(对Windows的支持还不太全面)。而Mac系统主要使用CPU版本(Mac系统很少使用NVIDIA显卡,而目前TensorFlow对CUDA支持得比较好,对AMD的OpenCL支持还属于实验阶段),安装方式和Linux的CPU方式基本一致。

安装Anaconda

Anaconda是Python的一个科学计算发行版,内置了数百个Python经常会使用的库,也包括许多我们做机器学习或数据挖掘的库,包括Scikit-learn、NumPy、SciPy和Pandas等,其中可能有些是TensorFlow的依赖库。

Anaconda的下载地址:

https://www.continuum.io/downloads

Mac下有两种安装方式,一种是窗口式的安装程序(.pkg),一种是命令行安装程序(.sh),一般选择第二种。下载后执行以下命令:

bash Anaconda3-4.4.0-MacOSX-x86_64.sh

TensorFlow CPU版本的安装

TensorFlow的CPU版本相对容易安装,一般分为两种情况,一种是安装编译好的release版本,推荐大部分用户安装这种版本;第二种使用分支源码进行编译安装。

第一种安装release版本,到https://github.com/tensorflow/tensorflow下载最新的release版本(.whl)到本地,然后本地执行:

pip install --gpgrade tensorflow-1.3.0rc0-py3-none-any.whl

第二种使用源码编译安装,先确保系统安装了gcc(版本最好介于4.8~5.4之间),还要确保安装了构建工具bazel。bazel是Google自家的编译工具,以快速、可扩展、灵活、可靠著称,下载安装方式如下地址:

https://github.com/bazelbuild/bazel

安装步骤:

(1) 下载源码包,解压

wget https://github.com/tensorflow/tensorflow/archive/v1.3.0-rc0.tar.gz
tar -zxvf v1.3.0-rc0.tar.gz

(2) 进入源码目录,配置

cd tensorflow-1.3.0-rc0
./configure
  • 选择Python路径,确保使用Anaconda的Python路径
  • 选择CPU编译优化选项,默认-march=native就好
  • 是否使用jemalloc作为默认的malloc实现(仅linux),默认就好
  • 是否开启Google云平台支持,选择否
  • 是否需要支持Hadoop File System,如果需要读取HDFS数据,就选择yes
  • 是否开启XLA JIT编译功能,建议选no
  • 选择Python的Library路径,依然使用Anaconda的路径
  • 不选择使用GPU,包括OpenCL和CUDA

(3) 执行编译

bazel build --copt=-march=native -c opt //tensorflow/tools/pip_package:build_pip_package

(4) 编译结束,生成pip安装包

bazel-bin/tensonflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

(5) 最后安装

pip install /tmp/tensorflow_pkg/tensorflow-xxx-xxx-xxx-xxx.whl

TensorFlow GPU版本的安装

TensorFlow的GPU版本安装相对复杂。首先需要NVIDIA显卡,然后安装显卡驱动、CUDA和cuDNN。

CUDA的安装

CUDA是NVIDIA推出使用GPU资源进行通用计算(Genral Purpose GPU)的SDK,安装包里一般集成了显卡驱动。

先下载NVIDIA CUDA:

https://developer.nvidia.com/cuda-downloads

(1) 暂停NVIDIA驱动的X server

sudo init 3

(2) 将CUDA的安装包权限设置成可执行,并安装

chmod u+x cuda_8.0.61_375.26_linux.run
sudo ./cuda_8.0.61_375.26_linux.run

(3) 按q键跳过协议说明,并接受协议后选择安装驱动程序

(4) 选择安装路径,一般默认/usr/local/cuda-8.0

(5) 不安装CUDA例子

(6) 安装完毕

cuDNN的安装

cuDNN是NVIDIA推出的深度学习中CNN和RNN的高度优化的实现。

下载cuDNN:

https://developer.nvidia.com/rdp/cudnn-download

进入安装目录并解压包

cd /usr/local
sudo tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz

这样就完成了cuDNN的安装。

CUDA的环境变量设置

vim ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-8.0
export PATH=/usr/local/cuda-8.0/bin:$PATH
source ~/.bashrc

安装TensorFlow

先到https://github.com/tensorflow/tensorflow下载最新的GPU release版本(.whl)到本地,执行:

pip install --gpgrade tensorflow_gpu-1.3.0rc0-cp35-cp35m-linux_x86_64.whl

然后一步步选择安装完成。

推荐阅读更多精彩内容