大型总结:ubuntu18.04下tensorflow1.10-gpu安装过程的无数坑

大型总结:ubuntu18.04下tensorflow1.10-gpu安装过程的无数坑

  • 神舟Z7-KP7GT下windows10+ubuntu18.04的系统安装与完善
    • ubuntu18.04系统安装
    • 系统功能完善
  • anaconda+tensorflow-gpu安装
    • anaconda3
    • tensorflow-gpu
      • cuda9.2
      • cudnn7.2
      • tensorflow-1.10-gpu
    • 题外话:pycharm下的tensorflow
  • 安装过程的实用指令

因为是回顾,所以教程中就没有配图啦。
前后耗时两个星期左右,每天都在error和warning中摸爬滚打,“import tensorflow”终于点亮的那一刻有种steam购物车免费全清的哲学感。
不过现在看回来,在无数的错误中也get到了不少新技能,算是成长了吧(笑)。

神舟Z7-KP7GT下windows10+ubuntu18.04的系统安装与完善

ubuntu18.04系统安装

我采用U盘刻录安装,先从官网下载ubuntu18.04:
http://releases.ubuntu.com/18.04/?_ga=2.99976730.526829365.1537876915-1081461388.1537454172
最新版本的LTS有多少好处我就不说了,大家都懂。
以下操作基于windows10:
1.先下个UltraISO用于刻录:https://www.ultraiso.com/
2.把下好的ubuntu18.04的iso文件刻录到U盘里;
3.右键“我的电脑”打开磁盘管理器,压缩卷,空间自行分配。我是分了110GB左右。
4.关机,狂按F2进入BIOS界面,把SECURE MODE给DISABLED掉,再把BOOT OPTION PRIORITY调成USB KEY第一,SAVE AND REBOOT;
5.这时开机后,就会进入全紫色的grub2.x的界面,能看到Try Ubuntu 和Ubuntu install。小技巧是先进入Try选项,然后在图形界面下完成install,这样可以联网。注意:我的本本带GTX1060,ubuntu对N卡的驱动支持是不太好的,直接enter选项1或2后会分分钟卡机,只好强制关机。所以你需要把光标移到1或2后,按E进入编辑项,在quiet splash后输入acpi=off(“- - -”可以删掉,不影响)
6.安装过程自己弄,可以参考这位博主的过程:https://blog.csdn.net/meccaendless/article/details/78354828
7.安装到最后,眼看进度条君要光荣牺牲,突然报错,说grub有错什么的,实在是煞风景。。。在这里试过很多方法,最简单稳定的就是boot repair了。这里可以参考这位博主的文章:https://blog.csdn.net/u012260238/article/details/52713724
8.安装完成。ps:以后进入系统会优先选择ubuntu,当然你可以进BIOS自己改。

系统功能完善

1.ppa源更新
换成阿里云源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse12345678910
更新源和软件
sudo apt-get update
sudo apt-get upgrade
2.N卡驱动安装
网上各种方法,没用,由于以后装cuda,所以直接在cuda那里安装。
3.IPV6科学上网
主要是把host文件改改:https://github.com/lennylxx/ipv6-hosts
hosts位于: /etc
4.美化
主要就是玩gnome

sudo apt install gnome-tweak-tool
sudo apt install gnome-shell-extensions
sudo apt install chrome-gnome-shell

anaconda+tensorflow-gpu安装

anaconda3

https://repo.continuum.io/archive/
sudo bash就完事儿了。

tensorflow-gpu

cuda9.2

说实话,这么多教程看过来,只有官方文档是最靠谱的。我就是照着官方文档一步步做下去的,一次pass,顺便安好了GTX1060的驱动(版本为396)
https://docs.nvidia.com/cuda/

cudnn7.2

同上。
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html

tensorflow-1.10-gpu

在这里非常感谢这位大神,这个教程非常详细
https://www.solarck.com/compile-tensorflow-gpu.html
源码虽然编译过程比较痛苦,但出了错容易发现,能比较好地检验自己文件的依赖关系有没有错误。
我遇到的问题有:
1.报错,找不到 libcubla9.2.so :
如果版本对应好了,就是因为PATH和LD_LIBRARY_PATH没设置好。

sudo gedit ./bashrc
#编辑 ~/.bashrc文件,在文末追加
export PATH=/usr/local/cuda/bin: P A T H e x p o r t L D L I B R A R Y P A T H = / u s r / l o c a l / c u d a / e x t r a s / C U P T I / l i b 64 : / u s r / l o c a l / c u d a / l i b 64 : PATH export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib64: PATHexportLDLIBRARYPATH=/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib64:LD_LIBRARY_PATH

2.配置更新,终端输入ldconfig后说.so文件不是符号链接:
删除并重新建立链接就好
输入“ln -sf 待链接文件路径 原链接文件路径“

题外话:pycharm下的tensorflow

如果你和我一样,在终端输入python,之后打入import tensorflow正常运行,但是打开pycharm,在相同的python环境下却找不到此module(tensorflow),那么恭喜pycharm阿呸,都是pycharm搞的鬼。
终端使用bash的环境变量,而pycharm不使用。
终端使用bash的环境变量,而pycharm不使用。
终端使用bash的环境变量,而pycharm不使用。
事复三。
那怎么办呢?
很简单,conda create一个虚拟环境就行,在这个虚拟环境下再pip install tensorflow的whl文件就可以了。但问题是我在anaconda自带的python环境里也安装了tensorflow,本想着tf配anaconda的各种库在pycharm的智能补齐下岂不美滋滋,事实证明我就是个傻x。
偏方:在pycahrm.sh里强行export LD_LIBRARY_PATH,位置在start之前。这样做偶尔行偶尔不行,待研究。

安装过程的实用指令

最后把整个过程的各种指令(终端)写上来,附带解释,也许能有点帮助。
.bashrc文件中添加环境变量:
export PATH=待添加路径:$PATH
使配置立即生效:
source .bashrc
conda添加虚拟环境:
conda create -n xxx python=x.x
conda删除虚拟环境:
conda remove -n xxx --all
conda调用和退出虚拟环境:
soucre activate xxx
source deactivate
更新动态链接库:
ldconfig
切换到超级用户和退出超级用户:
sudo su
exit
查看N卡驱动详细信息:
nvidia-smi
设置N卡驱动:
nvidia-settings
查看cuda版本:
cat /usr/local/cuda/version.txt
查看cudnn版本:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
查看tensorflow版本:
python
import tensorflow as tf
print(tf.version)
查看tensorflow路径:
python
import tensorflow as tf
print(tf.path)

你可能感兴趣的:(学习总结)