专栏首页石瞳禅的互联网实验室【TensorFlow实战——笔记】第3章:TensorFlow第一步_TensorFlow的编译及安装

【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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【TensorFlow实战——笔记】第2章:TensorFlow和其他深度学习框架的对比

    可以看到各大主流框架基本都支持Python,目前Python在科学计算和数据挖掘领域可以说是独领风骚。虽然有来自R、Julia等语言的竞争压力,但是Python...

    石瞳禅
  • 【TensorFlow实战——笔记】第1章:TensorFlow基础

    TensorFlow是Google公司开源的分布式机器学习框架。它的前身是DistBelief,在Google大规模内部使用。TensorFlow最早由Goog...

    石瞳禅
  • 微信JS-SDK分享功能的.Net实现

    为了方便开发者实现微信内的网页(基于微信浏览器访问的网页)功能,比如拍照、选图、语音、位置等手机系统的能力,并方便开发者直接使用微信分享、扫一扫等微信特有的能力...

    石瞳禅
  • 深度学习介绍与TensorFlow实战

    2017国庆快乐,非常开心,难得有充足的时间,可以撸代码。最近人工智能的风口很火爆,基于我掌握的情况,可以先了解,最好复习下高中数学知识(矩阵,多维数据,多元N...

    雷潮
  • Windows安装TensorFlow 原

    如果在系统中安装使用GPU运行的TensorFlow,需要确保下面介绍的NVIDIA软件已经安装到系统中。

    随风溜达的向日葵
  • 使用Anaconda 环境安装 TensorFlow

    本文由 bytebye 创作 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

    ByteBye
  • 《网络安全法》落地两周年回顾

    在《中华人民共和国网络安全法》(以下简称《网络安全法》)出台前,我国专门用于规范互联网安全的法律仅有三部:《电子签名法》《全国人民代表大会常务委员会关于网络信息...

    FB客服
  • 在WordPress 的文章或页面中运行PHP 代码

    如果你在编辑器中输入PHP 代码,默认的话WordPress 不会为你执行这段代码的——只会文本方式输出。Tutsplus 上有一篇文章以插件的方式告知我们实现...

    Jeff
  • 深度解读 |《网络安全法》对金融行业的合规性引导(上)

    今年6月1日,备受瞩目的《中华人民共和国网络安全法》(以下简称《网络安全法》)正式付诸实施。近期,安恒信息将陆续推出系列文章,从不同行业客户的视角来解读这部重要...

    安恒信息
  • 等级保护2.0相关规范

    《中华人民共和国网络安全法》已于2017年6月1日正式施行,作为网络安全基础法律,第21条明确规定了“国家实行网络安全等级保护制度,要求网络运营者应当按照网络安...

    安智客

扫码关注云+社区

领取腾讯云代金券