露转溪桥 发表于 2018-8-24 10:43:21

Ubuntu16.04重装系统到搭建TensorFlow的一些错误记录和心得

以下内容是我装机时写的博客,现在转发到论坛这里希望给更多的朋友看到,顺便拿点鱼币学习小甲鱼的python嘎嘎嘎~有什么不足大家可以提出让我修改,谢谢!

首先是重装了16.04的ubuntu系统

重装系统的工具和方法以及安装显卡驱动和cuda9.1、cudnn7.0、mkl等都可参考我师兄这篇博客,如下~

https://blog.csdn.net/CPFelix/article/details/79086580

本文主要记录一些遇到的难以解决的问题以及一些心得体会:

1、从一开始的制作u盘启动盘来重装系统,就出了挺多问题,有遇到过无法进入系统,重新换了个制作软件,重新制作u盘后,能够进入到系统,但是如果重装的时候遇到安装程序无法向硬盘复制文件,在此我想说,这多半是你的u盘有问题了。换个u盘就解决了!

2、装完系统后,从显卡驱动开始重装。每安装完一个模块都需要检验是否正确安装完全,特别是后面的cuda,由于cuda需要的驱动版本很可能和安装的显卡驱动不匹配,所以很容易出错,在此,我安装的显卡驱动版本为*-384.111.run,具体版本要对应你的主机显卡来定。而安装的cuda9.1所需要的驱动版本至少要大于*-387.26,所以在安装完cuda后,你会发现你的显卡驱动很可能自动更新了,但这也是必须的。

昨天在一篇博客看到有人说,16.04的ubuntu(显卡为TITANX 1080)不支持8.0及以上的cuda 。由于我一开始装的就是师兄给的9.1cuda版本,装完之后在/usr/local/cuda/samples/1_Utilities/deviceQuery 下执行编译和检验,结果一直是fail。上网百度了很多方法都未能解决,包括修改过环境设置,重启过电脑等等,始终无法解决,就在我怀疑9.1cuda确实不被支持的时候,第二天早上来到,原本已经打算重装8.0cuda,但毕竟师兄是成功装过9.1cuda的,所以我也抱着好奇的心,再次测试了一下cuda,结果惊喜地发现:PASS!! 所以,9.1cuda是被显卡TITANX 支持的!

3、我在安装jdk和bazel的时候就遇到了非常多的问题,几乎被弄得晕头转向,一方面也是因为网上的博客质量参差不齐,另一方面不同的主机编写同样的代码也可能会出现完全不一样的错误,这也是让人很头疼的。我安装的时候就频繁出现了类似于“该依赖项基于xxxx版本,而xxxx已经安装了更新的版本,所以该依赖项安装失败。”费尽九牛二虎百度解决之后,再安装numpy等多个依赖项,对于protobuf我是直接从官网下载的3.5.0的source code.zip版本进行安装。

这阶段最让人头疼的是,一边是频繁提示依赖项所需的版本跟你电脑自带的版本不对,从而无法安装,另一方面提示你使用的pip是8版本,提示你更新到10版本,更新之后又出现了各种错误,包括依赖项等都无法正常安装,提示 找不到pip这个模块,我反复尝试了重装和更新pip都没有解决。

4、3中的pip问题未能解决,此时用./configure配置完tensorflow进行编译时,你会发现多段红通通的字眼,其中一个提示找不到/usr/include/python2.7 于是我从官网下了个相同版本的python包放到里面去,虽然解决了这个错误,但是同时又出现了别的编译错误,在此我建议,直接安装Anaconda,会省事很多!!

安装完anaconda之后,再重新用tensorflow的./configure配置python的路径,一般默认选择了anaconda,此时编译没有出现问题,成功,接下来的编译whl包提示一堆warning,也成功了,但是,安装whl包的时候提示出错了,再度提示pip 模块出错。

如果成功安装了anaconda,输入

python

会发现默认选择了anaconda的python,但是,输入

pip --version

你发现你的pip是安装在系统的python路径下的,并非是anaconda路径下的python。

对此我直接卸载掉安装在系统python路径下的pip,命令如下:

python -m pip uninstall pip

此时卸载掉之后,再输入

pip --version

提示你的pip路径为anaconda下的python,那么问题解决!

5、成功搞定了pip之后,终于能够执行whl包的安装,然而,安装最后又出现了新的问题:

Distributed 1.21.8 requires msgpack,which is not installed

是的,你会发现,这都是原先pip搞的鬼,导致有些依赖包并没有成功安装,于是执行命令安装:

conda install -c anaconda msgpack-python
pip install msgpack

可能还会遇到下面这个问题:

Grin 1.2.1 requires argparse>=1.1,which is not installed

那就再安装一下

pip install argparse

最后成功安装了tensorflow,导入的时候又出错,提示

FutureWarning:Conversion of the second argument of issubdtype from 'float' to 'np.floating'……

输入下面代码完美解决!

pip install h5py = 2.8.0rc1

6、5步骤在安装tensorflow的过程中,有一次提示成功安装,但import时又提示No module name tensorflow line 1 error

已经确定添加了环境变量和配置也无法解决,最后一步一步返回去找原因,重新编译whl包的时候,居然中间 有段红字提示出错,这如果不往上翻你可能发现不了,因为最终结果是提示安装成功的。出错的原因就是5中所说的那几个问题,解决之后就大功告成了。

此次装机过程也是很疲惫,遇到了非常多的问题,明明教程摆在你面前,对着敲也会遇到一丢丢不一样的问题,需要你自己去解决,当然其中也有一些问题是自己基础不好造成的,所以影响了装机和搭建环境的速度。但此行下来还是有所收获,在此特别感谢我的师兄提供的帮助~{:10_254:}
页: [1]
查看完整版本: Ubuntu16.04重装系统到搭建TensorFlow的一些错误记录和心得