2019年4月1日星期一
(接上文)过年期间,本人给之前的老游戏本换固态,需要迁移系统,但是因为前一篇文章里讲的那个原(da)因(keng),不能迁移,只能重装。先后安装好ubuntu18.04,输入法,Anaconda4.4以及捆绑的python3.6.1,然后就在tf上遇到阻碍了。
当时我参考的(https://www.imooc.com/article/26772?block_id=tuijian_wz)这篇博客去安装tf和CUDA&cudnn,一直安装到所有流程结束,都没出现太大问题。但是一进python,就会import tensorflow 失败。Python抛出一个Exception,大概意思是在/usr/local/cuda9.0里面没有某个文件(忘截图了)。
当时因为安装的显卡驱动是Nvidia的390版本,而不是先前要迁移的那个系统上的410版本,所以怀疑显卡驱动版本不匹配。事实证明确实不匹配,传送门: https://blog.csdn.net/zl535320706/article/details/83474849
在重新安装好驱动后,仍然出现先前的问题,于是怀疑cuda没安装上。root后从根目录cd到/usr/local后,发现根本就没有任何cuda的文件夹,确定了cuda就是没安上。重新安装一遍cuda,在安装结束的时候本应该和下图中的Toolkit和Sample的安装结果一样,但是当时却显示两者都没安装上。
问题出在了gcc版本上,具体参见这两篇博客:
https://www.imooc.com/article/26772?block_id=tuijian_wz 和
爆详细Ubuntu18.04,CUDA9.0,OpenCV3.1,Tensorflow完全配置指南
https://blog.csdn.net/xierhacker/article/details/53035989
重新装了个gcc4.8,并且将软链接从原来系统自带的gcc7.3改到现在的4.8即可。传送门:https://blog.csdn.net/lyy14011305/article/details/63685779?utm_source=blogxgwz3
需要补充的是,我在执行该篇博客的操作时,在解除原有软连接(sudo rm gcc 和 sudo rm g++)时提示我并没有这个东西;但当我用root权限进入/usr/bin这个目录下,用grep过滤一遍gcc和g++后(ll |grep gcc 以及ll |grep g++),就能移除原有软链接了,感觉像是赋予了这两个操作权限。
之后又出现了新问题:
这个问题:
FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
根本在于一个名为h5py的包出错,应该对h5py进行更新升级:
pip install h5py==2.8.0rc1
然后再试,就出现久违的import成功画面:
最后补充一下:
最新CUDA Toolkit下载地址:
https://developer.nvidia.com/cuda-toolkit
cuda历史版本和cudnn的下载地址:
https://blog.csdn.net/qq_34057614/article/details/81228746
CUDA 版本,显卡驱动,Ubuntu版本,GCC版本之间的对应关系:
https://blog.csdn.net/zl535320706/article/details/83474849
自己的显卡需要什么驱动,进去自己按照自己的具体配置测试一下:
http://www.nvidia.com/Download/index.aspx?lang=en-us
配环境是个锻炼人心智的活,当然后端大佬除外。