ubuntu14.04 安装TensorFlow&升级 cuda8.0 的坑

上半年忙着博士入学,写毕业论文,准备答辩,一系列事情,总算是差不多做好有时间回来搞学术。欠了很久的跟师弟一起调DDPG强化学习策略的代码,是基于Keras+TensorFlow的。由于之前没用过 TF,加上自己一直技痒,所以决定趟一趟 TF 的坑。 于是事情就来了。

背景

要在自己的台式机上安装tensorflow的环境,台式机的配置如下:

  • win10+ubuntu 14.04 (64位)
  • GTX 960
  • cuda 7.5版本
  • cudnn 6.0版本

铺垫

一开始直接用pip装 TF ,结果不知情的情况下踏了很多个坑,pip安装卸载了无数次,源码安装,bazel编译等等。

一些重要的容易忽略的点如下:

1.cudnn版本太高,不能用 pip 的方式安装,只能用源码安装。这个在之前的官方文档里有说明。

Download cuDNN v4 (v5 is currently a release candidate and is only supported when installing TensorFlow from sources).

但是我发现这个事儿也不一定。比如最好我装好的tensorflow就是用的 v5.1

2.源码安装一定要注意好版本的配置

一般是从github上克隆回来的镜像,注意要有针对性地 git checkout r0.xxx ,也就是选择自己的tensorflow版本。因为太高的版本对于你电脑上的cuda之类的要求比较高。看到一张表,验证过的可行的版本选择可以参考如下(注意那个cudnn的版本是v后面的数字,前面的数字是对应cuda的):
ubuntu14.04 安装TensorFlow&升级 cuda8.0 的坑_第1张图片
3. 升级cuda之后的grub问题
这个就比较坑了,事实上,在各种尝试安装都没办法的情况下,我听他们说cuda8.0特别好装,pip直接就能用。
于是我决定升级电脑上的cuda版本。

升级cuda不难 参考这个博客 ubuntu 14.04下cuda7.5升级到cuda8.0
难题是升级cuda重启之后的各种意外。

高潮

我的电脑就中招了。
现象这样:打开之后与往常一样,选择双系统。我选择ubuntu之后,原来的grub的再次选择界面没有了,直接黑屏,找不到系统了,出现了这样:

Error 1962:No operating systen found.press any key to repeat boot sequence,

但是同时我的win10还是可以进去的,在win10下去看分区都还在,所以判断是grub出现了问题。于是决定重新构建grub。

于是,找到一张ubuntu的光盘(版本不一定一致),用试用模式进入系统之后,按照这个方法重做grub。双系统安装后找不到ubuntu引导

有个注意的点,第三步里:
sudo grub-install --root-directory=/media/tmpdir /dev/sda
tmpdir和之后是有空格的,有的博客写错了或者正好分行了导致看不太出来。

之后重启之后,发生的问题是,进入了grub命令行的黑屏,输入exit 也不能退出。还是grub的问题,于是决定彻底解决。

解决办法:boot_repair 。 这个随便搜一下都看得到。
修复之后重启,总算回到原来的ubuntu了。

结尾

之后就开始顺利地用 pip 直接安装 tensorflow,很顺利,装好了。但是会有个库的问题是,libcudnn之类的,装的时候是放在 /usr/local/cuda-8.0/** 底下的,这导致用 sudo python 的是,找不到 libcudnn.so.* 之类的。
解决办法是把 libcudnn.so.** 做一个软链接到 /usr/lib/里。这样之后,sudo python 和直接python都没有问题了。

开始 Flow the Tensors ~!

归纳起来最重要的事情:

  • cuda 一定要升级、升级、升级到 8.0 或 later !
  • grub非常容易出问题,Boot_Repair是神器!
  • 遇到黑屏一定要分析清楚问题,对症下药!

你可能感兴趣的:(深度学习)