突然,坏了的Ubuntu…. Ubuntu啊,愿你永远存在

这是NISE(南山大学青山研究室)Advent Calendar 2019的第18天的文章。

今年,那些在正式环境犯了错的人的圣诞日历2019非常热闹啊!

这次的故事与此相似。在这里的故事几乎是非虚构的,所以请您事先留意。

那个时候的情况

这个事件其实并不是很久远,发生在刚刚一个月前,可以说是非常新鲜的。目前在NISE这个研究所里,学士生有25人(其中一人正在澳大利亚留学),研究生有8人(其中3人是社会人),他们各自被分配到了一个研究室。

每个房间都安装了配备GPU的台式电脑,在问题上出现在Ubuntu操作系统上。

不经意地…

我将列出该台电脑的技术规格。

基本构成
PC名MASTERPIECE版本OSWindows 10 Home 64比特,Ubuntu18.04和CPUIntel Core i7双系统,Geforce 1080ti显卡,64GB内存SSD512GBHDD1TB

这种感觉。

从学部的成员那里,他们告诉我说他们想要用GPU来运行keras,并且说他们在今年夏天左右进行了环境设置后就没有再碰过了。因此,我认为内部的软件更新也没有进行,各种软件都变得相当陈旧。

有一天,学部的成员们告诉我,希望我能更新Python,于是我尝试在Ubuntu上安装pyenv。

$ apt install  git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev

由于需要安装各种库,因此我尝试使用apt进行安装。到目前为止一切顺利,但是在那之后,

有 214 个软件包可以更新。
其中 34 个更新是安全更新。
:
***  需要重新启动系统 ***

我察觉到出现了类似的讯息。
哎呀,我想念更新信息这种事情应该更勤快一点…发这样的想法是错的。

$ apt update
$ apt upgrade 
$ apt dist-upgrade

执行了,并随后重新启动。

画面比例有问题

在重新启动后,我选择了Ubuntu并尝试启动,但出现了令人意外的登录循环。

但从16.04升级到18.04后开始经常发生

我通过参考这篇文章,从恢复模式下禁用了 Wayland,解决了问题。
在这里,我记得我又一次以类似的心情进行了恢复。

实际上,在无效化之后,您仍然可以登录并查看常见的界面…

「咦?这个图标好大哦??」

我不小心说了出来。
平时应该按照显示器的比例来显示,但却变成了比平时更大的16:9的比例。

在这里,后辈提出了希望将显示器分成两个,并分别连接到HDMI和DisplayPort上。
虽然HDMI的显示出现了奇怪的画面比例,但它还是能够显示;然而,DisplayPort的显示却无法被识别。

嗯,暫時先放棄並就此使用下去也是一個選擇,但在眼前出現錯誤而不解決,對於一個工程師來說是不合適的,所以我決定面對電腦並解決問題。

NVIDIA的黑暗

我检查了一下,nvidia-smi仍在运行中…

Failed to initialize NVML: Driver/library version mismatch

现在可以显示了
哎呀~

我之前还在想,如果重新启动,问题会不会解决呢。但是,当我重新启动后,我们再也没有看到登录界面的出现。

a. 危险

内心的不安逐渐蔓延而变得巨大。

很幸运,我成功切换到恢复模式,并从那里登录了。

在Ubuntu 18.04安装NVIDIA驱动

在Ubuntu 18.04安装NVIDIA驱动时遇到了困难。

我拼命地进行了大量的搜索,努力尝试不断,但就算是从恢复模式中也无法登录,我的屏幕变得一片黑暗,与我的脑海一样陷入了相同的状态。

不过,我记起来在内部我们将研究所需的代码等储存在Github的私有仓库中进行管理,同时也在Google云盘上备份了图片截图、构建的模型等内容。

我决定重新安装Ubuntu 18.04。

将Ubuntu 18.04的ISO重新烧录到USB设备并连接。

在整理的同时,我重新安装了Ubuntu。

之前创建的磁盘映像还留存着,真是太好了。

深度学习环境的构建之隐患

好了,现在问题来了。

在我们实验室中,我们推荐使用Chainer作为深度学习框架。
在使用Chainer进行GPU深度学习环境时,需要安装一个名为Cupy的模块。
这个模块有点麻烦。

首先,将基本的Cuda安装到系统中。

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.1.105-1_amd64.deb

apt update
apt upgrade

apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

apt install ./cuda-repo-ubuntu1804_10.1.105-1_amd64.deb

apt update

apt install cuda cuda-drivers

然后,设置环境变量PATH。

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

下一步是安装Cudnn。由于先前安装的cuda版本不同,因此需要注意安装的Cudnn版本也会有所不同。

wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7_7.5.0.56-1+cuda10.1_amd64.deb
apt install ./libcudnn7_7.5.0.56-1+cuda10.1_amd64.deb
apt update

apt-get install libcudnn7

然后,安装Chainer和Cupy。
需要注意的是,Cupy依赖于Cuda的版本,所以必须使用相应的版本。另外,必须先安装Cupy,然后再安装Chainer,否则在安装Chainer时会出错。

pip search cupy
pip install cupy

pip install chainer

秘籍

好啦,这样应该会顺利!但实际情况很少这么甜蜜哈哈哈。

其实,这背后有个窍门

conda install keras-gpu

有一个技巧可以一次性下载GPU相关的软件。这个方法非常简单,所以如果对深度学习框架没有特别要求的人,推荐使用这个方法。

总结

这次是关于通过apt update和apt upgrade导致安装了多个nvidia-driver版本的情况,由于我意识到得比较晚,所以最终采取重新安装Ubuntu这一最后手段来解决的故事。

作为教训,

        • 谨慎进行更新

 

        • 始终保持备份

 

      • 不要复制粘贴查找到的解决方案

是的。

在这种环境搭建领域,特别是第三个问题,我原以为它和其他问题类似,结果却完全不同。这种情况经常发生,因此需要非常注意。

我想退出作为环境建设艺人的工作(愿望)。

各位朋友,如果在建立深度学习开发环境时,请务必小心。

下一次的机会

下一回,NISE(南山大学青山研究室)Advent Calendar 2019将首次登场@chi-nosuke。让我们期待他会写些什么有趣的内容吧!

发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds