最近申请了服务器,需要自己去搭建环境,所以在此记录下自己的辛酸搭建历史,也为了以后自己不走弯路。话不多说直接搬运,因为我也是用的别人的方法,一路走下来很顺畅。

第一步首先安装英伟达驱动
因为之前吃过亏,安装了ubuntu后直接装了cuda,结果没有任何效果,还连图形界面都出现不了(因为之前按照大佬们的攻略先一步禁用了ubuntu自带的显卡驱动,而自己又没有先装英伟达驱动,所以不显示图形界面),所以找了各种办法。

虽然大佬们觉得命令行方便,不过个人还是喜欢图形界面操作,简单快捷操作!

图形界面操作

ubuntu20.04安装cuda10.2+pytorch+NVIDIA驱动安装+(Installation failed log: [ERROR])
选择红框,然后继续下面的
ubuntu20.04安装cuda10.2+pytorch+NVIDIA驱动安装+(Installation failed log: [ERROR])
按照上面的步骤等待即可,这样就完成了!

命令行操作

当然,也可以命令行操作
我直接搬运!
直接终端输入:
sudo apt-get install gcc g++ make
gcc --version
看过一个老哥写的博客,写明了gcc, g++, nvidia驱动以及cuda版本对应关系,以下附上链接:
https://blog.csdn.net/dudu815110/article/details/87167518

卸载旧驱动

#删除驱动
sudo apt-get purge nvidia*

如果是通过.run文件安装的驱动则需要 cd 进入驱动安装包所在目录,执行以下命令即可:
sh ./驱动文件名.run --uninstall

到此以上这些,是在已经装过显卡驱动的人需要做的事情,如果是没有装过的,可以不管

禁用Nouveau

1.nouveau是ubuntu自带的显示驱动,会和nvidia驱动相冲突,所以在这里我们把它禁用,方法如下:

将nouveau加入黑名单
sudo vim /etc/modprobe.d/blacklist.conf

2.在文件底部加入以下内容:

blacklist nouveau
options nouveau modeset=0

3.执行命令,更新我们刚才改过的配置文件

sudo update-initramfs -u

4.完成以后,我们需要重新启动系统

sudo reboot

5.验证nouveau是否被禁用

输入以下内容,若没有任何输出则为禁用成功

lsmod | grep nouveau

安装驱动

添加ppa源

添加源并更新
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

查看显卡型号以及推荐驱动版本

ubuntu-drivers devices
PS:我是选择的435的,不过我到这一步死活装不了,就走图形界面操作了

安装驱动

安装

sudo apt install nvidia-driver-xxx
#重启
sudo reboot

xxx代表驱动版本,本人装的是435,安装完以后需要重新启动计算机

安装完成

nvidia-smi
ubuntu20.04安装cuda10.2+pytorch+NVIDIA驱动安装+(Installation failed log: [ERROR])
出现上面的图说明装好了

Anaconda的安装

在服务器上装py环境,根据网上找到的一些博客建议,首先装anaconda,我目前个人理解像是一个环境管理工具,在上面怎么玩也不怕崩,方便重来。安装特别简单,官网下载或者随便怎么搞到安装包,然后
bash 安装包路径/安装包名.sh

安装过程一路yes就好了,最后我看网上说anaconda会自动将环境变量添加到PATH里面,但我输入conda后提示没有该命令,所以还要自己手动加入环境变量。编辑 ~/.basrc ,在最后面加上
export PATH=/home/你的用户名/anaconda3/bin:$PATH
默认路径是这个,具体可以根据你的安装目录改
修改完
source ~/.bashrc
更新下环境变量就没问题了。然后是现在我用到的一些简单的语句
查看环境
conda env list
创建环境(以py3.7为例)
conda create -n python37 python=3.7
进入环境
source activate python37
离开环境

source deactivate

然后一些管理包的操作和pip很像就不列举了,这里碰到个坑,在用fish shell的时候,怎么都不能进入环境,当然还以为是自己anaconda又装崩了,然后网上搜了搜知道了,由于设计、实现的种种原因,fish 并不支持某些其它 shell (例如 bash) 支持的特性,大概就是一些命令在fish下使用会失败,大部分都是基于bash的,所以还是安装一些东西的时候还是别用fish吧!!

CUDA10.2安装

啊对了,有个坑的地方nvidia-smi显示的cuda version是驱动支持的最高版本,nvcc --version才是目前的cuda版本(我这边用的命令行是 nvcc --V)

安装包直接在官网下载就行,很方便可以帮忙做配置选择,不用自己再去查
我选择的是用run方法安装,参考图如下
ubuntu20.04安装cuda10.2+pytorch+NVIDIA驱动安装+(Installation failed log: [ERROR])
ubuntu20.04安装cuda10.2+pytorch+NVIDIA驱动安装+(Installation failed log: [ERROR])
然后直接在你的终端敲代码就完事了,当然也可以自行下载,个人还是觉得敲代码方便多,cv就完事了!

具体的安装步骤参考了大佬的一篇博客,非常详细了,ubuntu 安装多个CUDA版本并可以随时切换
我说几个不一样的地方,我的安装包是这样的安装形式
ubuntu20.04安装cuda10.2+pytorch+NVIDIA驱动安装+(Installation failed log: [ERROR])
PS:当初搞的时候忘了截图,搞完才想起来要写一篇总结,所以用的别人的图,但过程基本一样。
然后敲accept
ubuntu20.04安装cuda10.2+pytorch+NVIDIA驱动安装+(Installation failed log: [ERROR])
X表示被选中,按enter就是取消,上图下放已经说明
在已经有cuda10.0的情况下什么都不改直接安装的话,会报错
大概就是已经有一个驱动了,继续安装不是更新驱动,而且再装一个(迷惑操作),所以会报错。
然后根据大佬博客,有这几个地方需要改(已经有cuda版本的基础上)
取消驱动安装
ubuntu20.04安装cuda10.2+pytorch+NVIDIA驱动安装+(Installation failed log: [ERROR])
取消连接(在CUDA Toolkit按A进入高级选项)
ubuntu20.04安装cuda10.2+pytorch+NVIDIA驱动安装+(Installation failed log: [ERROR])

安装路径貌似无所谓,我没改,介意的话可以改到自己目录下 ,默认是 /usr/loacl/下
然后就是install就好了
PS:安装目录建议记住,我当时忘记记安装目录,所以后面搞版本控制有点麻烦

CUDA版本切换

安装后cuda后,我没用大佬博客中的方法,因为我感觉会影响到其他人正常使用,我直接改了自己的环境变量,还是编辑 ~/.basrc ,在最后面加上

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

PyTorch

pytorch的安装就很简单了,通过pyg已经知道只支持1.4.0和1.5.0/1.5.1版本,1.4.0官网又显示不支持cuda10.2,那么选项基本就唯一了,在之前anaconda的创建的py环境下
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch

参考链接:
https://blog.csdn.net/qq_39128349/article/details/107721533
https://blog.csdn.net/qq_33264737/article/details/101735647