ubuntu16.0.4安装tensorflow—gpu1.9.0填坑记录

这几天要跑一个例程,但它需要tensorflow1.9.0以上的版本,于是想在实验室服务器装1.9.0版的。但是服务器中的CUDA版本为8.0版本与TF版本不符,于是我开始了填坑之旅。


(首先是正确姿势下,如何安装好TF-gpu1.9.0,及验证是否可行)

一。首先要确定的是你要安装的TF版本对应的CUDA与cudnn版本

参考:https//blog.csdn.net/omodao1/article/details/83241074

其他的我不太了解,但是1.9.0说是一定要CUDA9.0,不能是9.1之类的。

然后对应的cudnn版本是7.1.4。其他的版本也不太清楚。

结论是:你要装TF-gpu1.9.0那么首先你要装CUDA9.0 + cudnn7.1.4

二。装CUDA与验证CUDA

参考:https//blog.csdn.net/ksws0292756/article/details/80120561

装CUDA其实没踩多少坑,因为之前实验室电脑已经装过CUDA8.0了,而且CUDA8.0和CUDA9.0的驱动大版本是一致的,不需要更改,所以没换,这点参考的博客中有提。还有就是GCC的版本问题,这个我也没遇到。

对于cuda版本切换,其实就是更换软链接,但是如果你在bashrc中写的cuda路径不是usr / local / cuda的话,那其实不用管这个,只要指向你想用的版本路径就可以了,比如说usr /local/cida-9.0。

我的环境参考一下:

export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
/usr/local/cuda-9.0/extras/CUPTI/lib64
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda-9.0/lib64"

然后这个环境路径的配置对于我这个没怎么用过的的的Linux的系统的小白来说也是坑...

附VIM操作方法:

https://www.cnblogs.com/yangjig/p/6014198.html

附详细操作方法:

https://blog.csdn.net/ylhsuper/article/details/61925713

验证CUDA是否安装成功:https//blog.csdn.net/oTengYue/article/details/79506758

查询当前用户的CUDA与cudnn版本:https://blog.csdn.net/zhangjunhit/article/details/76532196

三。装cudnn与验证cudnn

cudnn下载需要注册和填写一些东西,但都很简单,没有障碍。

其实cudnn官网说得很详细了,参考:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-linux

当然这里也有一个小坑,我就顺便在这里提一下,就是下面的第7点。如果经过检查是cudnn的版本问题的话(之前下载的版本不对),可以参考下面这个链接:https://blog.csdn.net/luccao/article/details/82085639

先删除之前装好的cudnn,再重新装你想装的版本即可。

四,装tensorflow-gpu1.9.0与验证

这个其实是最简单的,我就不说了,但是有个坑我待会提。

你如果装了conda的话,直接用conda install就好了。

这里有涉及到conda安装加速的,顺便提一下:https://blog.csdn.net/guilutian0541/article/details/81004769

下载速度会变很快。

验证方法:https://blog.csdn.net/weixin_43202635/article/details/84203824


(接下来就是坑了···你会遇到各种报错,其实都是上面没做好的原因...)

1.python tensorflow中各种:xxxxxx'module'对象没有属性'xxxxx'

我的建议,删掉环境中的tensorflow然后重新安装...

或者参考:https//blog.csdn.net/BeiErGeLaiDe/article/details/78023000

2.(另外提一下)在shell中无法直接使用conda,会报错AttributeError:module'enum'没有属性'IntFlag'

参考:https//blog.csdn.net/m0_37089544/article/details/84958659

直接在bashrc中写unset PYTHONPATH一劳永逸

3.警告:运行时警告:numpy.dtype大小已更改,可能表示二进制不兼容

在安装好新的tensorflow版本后可能会出现numpy的版本过高的情况,然后会出现警告。

参考:https//blog.csdn.net/u010158659/article/details/81606442

4.还有一个警告是说CPU什么什么的,直接在的.bashrc中写下面的命令无视掉就好,不影响。

TF_CPP_MIN_LOG_LEVEL = 2

5.在运行cudnn测试历程的时候出现cudnn版本不一致

这个一般是你在做的时候系统环境是指向某一个CUDA,但是当你在运行这个历程的时候改掉了这个环境变量,于是出现这种情况,只要你确定好环境变量无误的情况下,删掉重新编译一下,再运行就没问题了。

6.跑tensorflow-gpu的测试代码时出现设备映射:没有已知的设备

出现这个问题的原因可能有很多,有可能是前面的CUDA或者cudnn没装好。还有一种可能是tensorflow-GPU没装好。

后面的情况是这样的,你在shell上通过conda命令行安装了tensorflow-gpu,而且用conda list也能够看到它。但是它的版本很奇怪。

上面一个是通过畅达安装的,但是在pycharm中是看不到的,也就是在pycharm的环境的包列表中并没有这个包。后面一个是我通过pycharm安装的。装完后,就解决了这个问题。

7.安装tensorflow报ImportError:libcublas.so.9.0:无法打开共享对象文件的解决方法

这个问题其实是版本不匹配的问题,你只要装的版本是匹配的话,这个问题不会出现。还有就是你的用户环境配置要正确,不然也会出现这种类似的错误。

参考:https//blog.csdn.net/qysh123/article/details/79977891


暂时回想的就这么多...,这一次配环境,发现计算器很不错,各种坑都有人踩过,而且有答案。

https://stackoverflow.com/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值