ubuntu gcc 安装_Ubuntu 18.04 + PyTorch 1.6踩坑记录-NVIDIA驱动安装

ubuntu gcc 安装_Ubuntu 18.04 + PyTorch 1.6踩坑记录-NVIDIA驱动安装_第1张图片

主机安装双系统有一段时间了(Win 10+Ubuntu 18.04),但是一直以来都是用的win 10系统,最近心血来潮改用Ubuntu,于是需要安装各种Python库环境等。本来以为很简单就可以搞定,没想到安装PyTorch的过程一波三折。下面的内容将作为纯初学者的角度出发进行记录。

早就听说用Anaconda安装PyTorch很方便,于是决定进行尝试,在装好Anaconda后,根据PyTorch官网的指令就开始装PyTorch 1.6。

ubuntu gcc 安装_Ubuntu 18.04 + PyTorch 1.6踩坑记录-NVIDIA驱动安装_第2张图片
PyTorch官网

为了更快速的安装,将conda源改为清华源,网上有很多帖子,可以参考下面的链接,本文不再细述具体操作。

清华源​mirror.tuna.tsinghua.edu.cn
ubuntu gcc 安装_Ubuntu 18.04 + PyTorch 1.6踩坑记录-NVIDIA驱动安装_第3张图片

之前一直没搞懂究竟是不是直接根据官网指令安装就可以一步到位(是否跟本地原有的cuda版本有关系)。后来证明确实没有关系,即本地的cuda版本与cudatoolkit的版本可以并不一致。但是,在安装完PyTorch 1.6后,运行torch.cuda.is_available()却发现输出“False”。因此当时一度怀疑是本地cuda版本的影响(因为系统cuda版本为10.0)。

ubuntu gcc 安装_Ubuntu 18.04 + PyTorch 1.6踩坑记录-NVIDIA驱动安装_第4张图片
驱动-cuda版本对照表

经过一番折腾搜索,找到上面的对照表之后,才发现可能是驱动的问题而导致的,因为本人系统原先的Driver Version是410,而从表中可以看出cuda 10.1所需的驱动版本为>=418。

于是问题变为:如何对系统的显卡驱动进行升级?

刚开始找到的一些文章说的是通过:“应用程序 -> 软件与更新 -> 附加驱动 -> 选择对应版本的驱动 -> 应用更改”,然后会有重启电脑的操作,但是本人在重启之后发现驱动还是没有变化,于是放弃了这个方法,走上手动安装的道路。

升级驱动的方法也有不少,本人参照的是:

Ubuntu更新NVIDIA驱动版本​www.jianshu.com
ubuntu gcc 安装_Ubuntu 18.04 + PyTorch 1.6踩坑记录-NVIDIA驱动安装_第5张图片

当时在安装的过程中却没有那么简单,首先,从官网中下载好想要的驱动后,请一定要保存在主目录(或非中文路径)中,因为笔者的系统为中文版,因此Downloads目录为“下载”,但是后续的操作需要在终端控制台(text-only mode)中进行驱动的安装,此时将无法识别中文名称的目录,因此无法进入到相应的目录中(当然,网上好像有别的解决办法)。

执行完第一步卸载驱动后:

sudo apt-get purge nvidia*

我们尝试直接进行安装,下面的指令以450版本驱动为例:

sudo sh ./NVIDIA-Linux-x86_64-450.57.run

将会遇到下面的错误:

ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel. This may be because it is in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading. Please be sure to exit any programs that may be using the GPU(s) before attempting to upgrade your driver. If no GPU-based programs are running, you know that your kernel supports module unloading, and you still receive this message, then an error may have occured that has corrupted an NVIDIA kernel module's usage count, for which the simplest remedy is to reboot your computer.

此时可以参考下面的高票回答(以及Clayton Mork的回答):

How to unload kernel module 'nvidia-drm'?​unix.stackexchange.com

具体的步骤可以参考Clayton Mork的回答:

ubuntu gcc 安装_Ubuntu 18.04 + PyTorch 1.6踩坑记录-NVIDIA驱动安装_第6张图片
解决“nvidia-drm”问题

其中,3c) 步骤有可能会执行失败,显示“nvidia-drm not found”,可以忽略该步骤。

经过上述步骤,驱动安装程序即能够启动起来。但是,我们依然会存在各种各样的问题,此处只将本人遇到的最麻烦的问题解决过程进行阐述。在安装的过程中,有可能会出现gcc版本不匹配的问题。错误信息大致如下:

The CC version check failed:
The kernel was built with gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2) , but the current compiler version is cc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609.
This may lead to subtle problems; if you are not certain whether the mismatched compiler will be compatible with your kernel, you may wish to abort installation, set the CC environment variable to the name of the compiler used to compile your kernel, and restart installation.

其中,上述的gcc版本根据实际情况会有所不同,但是指出的问题是:本地机器的gcc版本不符合所安装驱动的要求,因此我们需要修改本地的gcc版本。

关于如何修改本机的gcc版本,下面的博主文章给出了具体的操作(该博主专栏的另一篇文章也具体阐述了安装过程中可能出现的其他问题,强烈建议阅读):

NVIDIA驱动gcc不匹配 - 安装指定gcc版本(Linux/Ubuntu)​zhuanlan.zhihu.com

ps:在修改gcc的过程,make过程就耗费不少时间,建议去睡个觉。

在驱动安装完成之后,我们就可以回到图形界面中:

sudo systemctl start graphical.target

通过执行“nvidia-smi”执行可以发现驱动已经安装成功,如下所示:

ubuntu gcc 安装_Ubuntu 18.04 + PyTorch 1.6踩坑记录-NVIDIA驱动安装_第7张图片
nvidia-smi

同时,我们查看PyTorch的情况,也能够发现GPU版本已经安装成功。

ubuntu gcc 安装_Ubuntu 18.04 + PyTorch 1.6踩坑记录-NVIDIA驱动安装_第8张图片
cuda可用

以上即为整个安装的过程,主要是在遇到具体问题的过程中不断去检索相应的解决方案,具体的细节都可以通过文中的链接进行查看,因此不再在本文中具体列出每个步骤。最后,如有疑问,欢迎探讨!


欢迎关注我和朋友们的公众号进行学习讨论:

  • AI学习之旅
  • OTTO Data Lab

你可能感兴趣的:(ubuntu,gcc,安装,附加驱动管理软件,ubuntu)