最近申请了服务器,需要自己去搭建环境,所以在此记录下自己的辛酸搭建历史,也为了以后自己不走弯路。话不多说直接搬运,因为我也是用的别人的方法,一路走下来很顺畅。
# NAVIDIA驱动安装
第一步首先安装英伟达驱动
因为之前吃过亏,安装了ubuntu后直接装了cuda,结果没有任何效果,还连图形界面都出现不了(因为之前按照大佬们的攻略先一步禁用了ubuntu自带的显卡驱动,而自己又没有先装英伟达驱动,所以不显示图形界面),所以找了各种办法。
虽然大佬们觉得命令行方便,不过个人还是喜欢图形界面操作,简单快捷操作!
## 图形界面操作
![](https://img2020.cnblogs.com/blog/2029699/202010/2029699-20201029144538086-1402522095.png)
选择红框,然后继续下面的
![](https://img2020.cnblogs.com/blog/2029699/202010/2029699-20201029144736664-489067248.png)
按照上面的步骤等待即可,这样就完成了!
##命令行操作
当然,也可以命令行操作
我直接搬运!
直接终端输入:
`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`
![](https://img2020.cnblogs.com/blog/2029699/202010/2029699-20201029145933863-1078543302.png)
出现上面的图说明装好了
# Anaconda的安装
在服务器上装py环境,根据网上找到的一些博客建议,首先装anaconda,我目前个人理解像是一个环境管理工具,在上面怎么玩也不怕崩,方便重来。安装特别简单,[官网](https://www.anaconda.com/products/individual#linux)下载或者随便怎么搞到安装包,然后
`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)
安装包直接在[官网](https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal)下载就行,很方便可以帮忙做配置选择,不用自己再去查
我选择的是用run方法安装,参考图如下
![](https://img2020.cnblogs.com/blog/2029699/202010/2029699-20201004142021513-1414869206.png)
![](https://img2020.cnblogs.com/blog/2029699/202010/2029699-20201004142044258-329603103.png)
然后直接在你的终端敲代码就完事了,当然也可以自行下载,个人还是觉得敲代码方便多,cv就完事了!
具体的安装步骤参考了大佬的一篇博客,非常详细了,[ubuntu 安装多个CUDA版本并可以随时切换](https://blog.csdn.net/yinxingtianxia/article/details/80462892)
我说几个不一样的地方,我的安装包是这样的安装形式
![](https://img2020.cnblogs.com/blog/2029699/202010/2029699-20201004142224011-1340034177.png)
PS:当初搞的时候忘了截图,搞完才想起来要写一篇总结,所以用的别人的图,但过程基本一样。
然后敲accept
![](https://img2020.cnblogs.com/blog/2029699/202010/2029699-20201004142337350-673936078.png)
X表示被选中,按enter就是取消,上图下放已经说明
在已经有cuda10.0的情况下什么都不改直接安装的话,会报错
大概就是已经有一个驱动了,继续安装不是更新驱动,而且再装一个(迷惑操作),所以会报错。
然后根据大佬博客,有这几个地方需要改(已经有cuda版本的基础上)
取消驱动安装
![](https://img2020.cnblogs.com/blog/2029699/202010/2029699-20201004142453392-1099603539.png)
取消连接(在CUDA Toolkit按A进入高级选项)
![](https://img2020.cnblogs.com/blog/2029699/202010/2029699-20201004142702695-1077700638.png)
安装路径貌似无所谓,我没改,介意的话可以改到自己目录下 ,默认是 /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[官网](https://pytorch.org/get-started/previous-versions/)又显示不支持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