ubutu16安装tensorflow-gpu1.8+tensorlayer1.9+cuda8.0+cudnn5.1+anaconda4.5

最近tensorlayer发行了tensorlayer1.9版本,为了使用新添加的一些功能,诸如LayerNorm等功能,自己作死的将tensorlayer从1.8升级到1.9,然后就惊喜的发现tensorflow不支持了,因为之前自己安装的tensorflow-gpu=1.2版本,所以按照他的要求升级tensorflow呗,也升级到了1.9。但是这个时候又出现问题,说是tensorflow1.6之后的版本不支持cuda8.0,说是需要到cuda9,但是我们服务器上安装的就是cuda8,大家都用cuda8.0的环境,基本上是不可能在升级到cuda9了。说到这里好像已经陷入了一个死循环了,但是事实上还是有折中的方法的。

1.环境:

   1. Ubuntu: 16.04 64bit
   2. Anaconda: 4.5.4
   3. CUDA: 8.0.61
   4. cuDNN: 5.1.5
   5. gcc: 4.8.4

上面这些版本号是怎么样读取的了?可以通过以下命令查看:

  1. conda -V : 查看Anaconda版本
  2. cat /usr/local/cuda/version.txt: 查看cuda版本
  3. cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 : 查看cudnn版本
  4. gcc -v:查看gcc编译器的版本号

这里写图片描述

2. 安装相关的环境

   在我之前的的一篇文章深度学习基本环境搭建(ubutu16+Anaconda+Pycharm+Tensorflow) 我已经简单介绍了tensorflow-gpu版本的简答介绍,**这里默认你已经安装好cuda8.0以及cudnn了。具体安装cuda,cudnn可以自行google。如果已经安装好了高版本的,比如cuda9.0,cudnn7.1以上的同学就可以忽略这篇文章了,可以按照官方教程来了。**当时是使用pip install --ignore-installed --upgrade tfBinaryURL 命令安装的,操作起来也是非常简单的,但是了在这里这样的安装方法就不太适用了。为什么? 这里我们采用的第一种方案就是从源码安装!为什么要从源码安装?因为tensorflow1.6之后官方给的二进制安装包要求使用CUDA 9.0,服务器上的框架是cuda8.0并未适配该版本,因此需要将tensorflow在本地编译成whl后进行安装 虽然说是从源码安装,听起来比较的简单,但是其实中间暗含了太多的坑了,虽然这里我从源码安装还是失败了,但是从学习的角度来看,还是学到了不少东西。关于第二种方法如何简单安装,这里先卖个关子。

2.1 在cuda8.0环境使用源码安装tensorflow-gpu 1.8

  目前的tensorflow已经更新到了1.9,但是这里为了保险起见,我们暂时安装tensorflow1.8, 这个已经够新了。 网上说是使用git clone https://github.com/tensorflow/tensorflow 命令安装,但是这个是下载最新的tensorflow1.9版本, 所以我们需要手动下载,我们可以从这个网站TensorFlow 1.8.0 也就是下载发行版本。 然后我们需要下载bazel。bazel是用来构建pip的whl安装文件的,安装官网给出的步骤安装即可,其实大部分的文章我是参考这2篇文章的。TensorFlow1.8+Ubuntu16.05+CUDA8.0+cuDNN+Anaconda2安装, TensorFlow安装(安装bazel,配置TensorFlow编译环境,利用源码安装TensorFlow, 另外还有tensorflow官网啦,如果官网上不去,原因你懂得,可以去这个网站效果差不多的。其实使用大概原理就是,用户可以使用tensorflow源码中 ./configure 文件进行自定义配置,比如设置cuda版本,还有cudnn版本啊,但中间坑很多,我是装了好几次都没有成功,就是在运行bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg 失败,反正就是没有达到期望的效果,后来就果断放弃了。 后面介绍我亲测可行的安装方法
   在使用源码安装的过程中,发现了一个个人感觉比较有用的东西,那就是为什么我们不在当前环境安装tensorflow了,而是需要建立conda create -n tensorflow pip python=3.6 然后需要进入source activate tensorflow 在这次使用源码安装过程中,我是充分感受使用他的好处了。个人感觉就是conda create -n tensorflow pip python=3.6 就是建立一个独立于本地python的一个环境,我们操作就在这个环境当中,而不会影响到其他的框架,比如我们可以安装pytorch, caffe, theano,但是这些可能依赖包版本不同,如果装在一起容易出错,所以我们采用分而治之 的思想,创建一个独立的环境,多好。
    首先我们使用conda info -e 命令列举当前环境下。注意这个时候我们需要source deactivate 退出当前的tensorflow环境。因为这里的tensorflow环境已经被我弄坏了,所以我需要删除这个环境,然后重新安装。删除一个环境conda remove -n tensorflow --all
这里写图片描述
关于Anaconda更多命令可以参考这篇文章,很不错, mark一波。Anaconda多环境多版本python配置指导

2.2 正式安装

使用源码安装并没有安装成功,而且步骤十分复杂,下面介绍自己亲测有效的安装方法
在删除上面的tensorflow环境之后,安装步骤如下。

  1. 使用命令conda create -n tensorflow pip python=3.6 重新创建一个环境。source activate tensorflow 进入tensorflow环境
  2. 使用命令conda install tensorflow-gpu==1.8 安装tensorflow-gpu。是不是感到震惊了,这么简单!确实简单。
    这里写图片描述
    我们这个时候已经安装好了tensorflow-gpu 1.8版本了。实在是太棒了!
  3. 接下来我们使用命令pip install tensorlayer 就安装好了tensorlayer1.9版本。

小tips: 如果我们想安装easydict (v1.6), 指定版本我们使用命令:
pip install easydict==1.6 很简单。

3. 总结

其实这次安装完全是被动的,实在没办法才安装的。但是也给我几点启示: 首先千万不要乱更新包!!!真的有时候出问题了可能很麻烦。特别是框架的新版本,千万要小心更新。其次就是多google,多和人交流。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值