TensorFlow r1.4 从源码编译安装

本文记录了在Linux环境下,从更新Python到3.6,安装最新NVIDIA驱动,升级CUDA到9和cuDNN到7,到编译安装TensorFlow r1.4的详细过程。主要步骤包括Python升级、驱动安装、CUDA和cuDNN更新,以及TensorFlow的源码编译与安装。
摘要由CSDN通过智能技术生成

---------------- 2018-01-27 补充 ------------

谷歌正式发布TensorFlow 1.5:终于支持CUDA 9和cuDNN 7

但以下文章对于编译安装 TensorFlow 仍然具有参考意义

------------------------------------------------

 

双11入手了一块新的nvidia显卡,用于替换用了几年的旧nvidia显卡(cuda计算能力低)。

 

由此而来,需要更新相关的软件、驱动、库 如下:
1)  python3.4 --更新安装--> python3.6
2)  重新安装 NVIDIA 最新的驱动
3)  cuda8 --更新安装--> cuda9
4)  cudnn5.1 --更新安装--> cudnn7
5)  TensorFlow r1.0 --从源码编译安装--> TensorFlow r1.4

 

1)  python3.4 --更新安装--> python3.6

我用的是Slackware,具体安装过程需参照你自己的Linux发行版本

 

2)  重新安装 NVIDIA 最新的驱动

下载到最新的Nvidia显卡驱动,后台的cuda需要通过这个驱动和显卡芯片通讯,注意第 3) 步下载的 从nvidia官网cuda安装包自带了Nvidia显卡驱动,但不是最新的,所于选择了从nvidia官网下载最新的Nvidia显卡驱动

 

2.1)  为了不切换到Console而直接在X环境下安装驱动,需要指定 --no-x-check
2.2)  同时我的硬件环境是有一个i3 CPU自带的GPU连接到显示器,由它提供OpenGL的支持,Nvidia显卡不连接显示器只做CUDA计算和Deep Learning,指定 --no-drm  --no-opengl-files,不然系统自带的opengl库会被nvidia的opengl库覆盖 导致其它使用到opengl的软件出错

 

 

 

3)  cuda8 --更新安装--> cuda9

sudo ./cuda_xxxxx_linux.run --installpath=/usr/local/cuda_9 --no-opengl-libs

4)  cudnn5.1 --更新安装--> cudnn7

 

我用的是Slackware,直接从Nvidia官网下载的最新安装包,具体安装过程需参照你自己的Linux发行版本

 

安装好 cuda, cudnn 后,可以编译 cuda安装包自带的cuda 例子,看安装是否成功

 

5)  TensorFlow r1.0 --从源码编译安装--> TensorFlow r1.4

 

按官网的 Installing TensorFlow from Sources 步骤(tensorflow的官网需要翻墙):
1) 前面的步骤已经安装好相关的依赖
2) bazel 以前已经安装了
$ git clone https://github.com/tensorflow/tensorflow 
$ cd tensorflow
$ git checkout r1.4
$ ./configure
$ bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
$ bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
$ sudo pip3 install /tmp/tensorflow_pkg/tensorflow-1.4.0-py2-none-any.whl

由于我用的是python3.6,用pip3安装(pip安装的python2.7的包)

 

运行 tensorflow的官网的例子,有的小问题,说我的linux kernel 没有支持numa

 

那就重新编译一下linux kernel,加上 numa support。(原来的没有加上numa support的原因是我的PC根本没有numa体系的CPU)

 

安装内核后,再次运行 tensorflow的官网的例子,双提示numa node数目为-1的问题了(我的PC根本没有numa体系的东西了 v_v),不过这次的log 级别是 I (info) 不是 E (error)了。

 

nvidia-smi 查看正在使用显卡的程序

 

完成,发表文章,出门上班去了。

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值