深度学习在Ubuntu16.04下搭建环境


前言

因为研究方向是做深度学习,最近要开始跑代码, 所以要在Ubuntu上搭建深度学习的环境,电脑GPU是两块GeForce RTX 2080 Ti ,从装ubuntu系统到整个环境搭建,前前后后一共用了四天时间,走了很多弯路,此贴记录自己最终成功的安装过程,基本上每个步骤都是看别人的教程,也都在正文中注明了来源。

一、安装顺序

安装ubuntu16+win10的双系统—>安装NVIDIA显卡驱动—>安装CUDA—>安装cudnn—>安装Anaconda—>安装pytorch—>安装pycharm—>pycharm中搭建编译环境

二、安装ubuntu16.04系统

1.在win10系统下,安装ubuntu16双系统

安装双系统很简单,但是要注意很多细节,而且尤其在一切都搞定,在安装的过程中,可能因为网络或者其他原因,安装的过程会很慢,所以一定要有耐心,千万不要中断安装或者关机,所以还要删除重新装。

1).制作启动盘
在ubuntu官网ubuntu官网下载地址下载你所需要的官方镜像,然后利用软碟通(直接百度下载就行,容易操作)这个软件来制作启动盘。可参考https://blog.csdn.net/s717597589/article/details/79117112,只看这个博客关于制作启动盘的那部分内容就行。

2).在win10系统中给ubuntu安装分配空间

3).进入BIOS界面设置从U盘启动安装
第二步和第三步参考https://www.cnblogs.com/masbay/p/10745170.html这个链接中贴出了各种情况,因为安装双系统的时候,下面这些情况,都各有差异:
A MBR传统bios+单硬盘
B MBR传统bios+双硬盘(SSD固态硬盘+机械硬盘)
C UEFI新式bios+单硬盘
D UEFI新式bios+双硬盘(SSD固态硬盘+机械硬盘)
比如我的电脑是D这种类型,所以要特别注意安装过程中的分区问题。在第二步时,从固态硬盘的C盘中分了500MB作为了efi系统分区,从机械硬盘分了250GB,swap分区给了20GB,/分区给了60GB,/home分区给了170GB。

2.如何卸载ubuntu系统

因为感觉之前在装ubuntu的过程中,因为没有耐心,安装过程中跳过了某些内容,所以感觉ubuntu有问题,所以想卸载重新装一遍。

1).直接在win系统下删除ubuntu所在的分区
其他分区可能直接在磁盘管理中就能删除,但是efi分区要利用软件Diskgenius(直接百度下载免费用)来删除。

2).删除开机引导项
好多帖子说直接删除ubuntu所占用的磁盘,虽然ubuntu没有了,但是还有讨厌的开机引导界面,虽然我没有遇到这个问题,但是有强迫症,想把ubuntu卸载干净。
方法一:https://blog.csdn.net/zidian666/article/details/83096621
方法二:https://blog.csdn.net/guikunchen/article/details/88077330
两种方法都可以原理是一样的,方法二介绍的更详细(假如按照此方法创建的新盘符用记事本打不开,可以用方法一的方法打开或者直接按照方法一操作)

三、安装NVIDIA显卡驱动

1.准备工作

1)首先清楚自己的电脑之前有没有装过NVIDIA的驱动
假如是新机第一次装驱动,可跳过这一步。(如何判断自己电脑之前是否装过NVIDIA驱动,在终端输入nvidia-smi)。假如自己电脑之前安装过NVIDIA的驱动,现在想安装新的,需要把之前的卸载。

sudo apt-get remove --purge nvidia*

或者可以进入到安装NVIDIA的目录,启动自带的卸载程序,比如:

sudo /usr/bin/nvidia-uninstall
sudo apt-get remove --purge nvidia*

2)上官网下载驱动
NVIDIA驱动官网下载界面在官网输入你显卡的型号,就出来对应的驱动版本点击下载就可以。在这里插入图片描述
在这里插入图片描述

2.确定显卡被系统正确读取

lspci | grep -i nvidia

由于ubuntu16出现时间晚于2080Ti,假如终端没有显示显卡型号,需要如下操作,若正常显示则前往3

# 1 更新PCI ID
sudo update-pciids
 
# 2 查看命令是否成功执行:
sudo cat /usr/share/misc/pci.ids | grep -i rtx
 
out> 1e04  TU102 [GeForce RTX 2080 Ti]
 
# 3 查看当前插入的RTX2080Ti是否正确识别:
lspci | grep -i nvidia
 
out> 42:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] (rev a1)

3.禁止ubuntu自带的驱动nouveau

1)输入以下命令,如果输出带有nouveau的信息,说明nouveau正在运行:

lsmod | grep nouveau

2)输入以下命令编辑blacklist-nouveau.conf文件:

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

3)在文件最下面输入以下内容,然后保存退出:

blacklist nouveau
options nouveau modeset=0

假如后续没有成功,这一部分输入以下代码试试,然后保存退出:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
options nouveau modeset=0

4)在终端输入以下命令,更新设置:

sudo update-initramfs -u

5)再次输入以下命令,如果没有任何输出,说明nouveau已经禁用:

lsmod | grep nouveau

4.进入命令行界面安装显卡驱动

1)按住CTRL+ALT+F1进入命令行(CTRL+ALT+F7退出命令行),输入用户名和密码。
2)输入以下命令,关闭Ubantu的图形界面X Server:

sudo service lightdm stop

3)输入以下命令,进入完全的多用户状态,控制台命令行模式:

sudo init 3

4)输入以下命令,获取root权限:

sudo su

5)进入存放显卡驱动的文件夹,假设显卡驱动存放在Downloads文件夹下:

cd Downloads

6)安装驱动程序,驱动文件名因人而异。安装过程中可能会出现一些警告和错误,不用理会,继续安装,如果安装失败再去解决相应的错误:

#添加执行权限
sudo chmod +x NVIDIA-Linux-x86_64-455.45.01.run
#安装
sudo bash NVIDIA-Linux-x86_64-455.45.01.run –no-opengl-files –no-x-check –no-nouveau-check

–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要,不加很有可能出现循环登录,也就是loop login。
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau

5.正在安装中的一些选择

The distribution-provided pre-install script failed! Are you sure you want to continue? -> Continue installation在这里插入图片描述Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? -> Yes
Dynamic Kernel Module Support,DKMS:动态内核模块支持
在这里插入图片描述
WARNING: Unable to find a suitable destination to install 32-bit compatibility libraries. Your system may not be set up for 32-bit compatibility. 32-bit compatibility files will not be installed; if you wish to install them, re-run the installation and set a valid directory with the --compat32-libdir option. -> OK
在这里插入图片描述
Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be used when you restart X? Any pre-existing X configuration file will be backed up. -> Yes
在这里插入图片描述
Your X configuration file has been successfully updated. Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version: 430.14) is now complete. -> OK
在这里插入图片描述

6.重启看安装结果

sudo reboot
nvidia-smi

假如出现以下界面,说明安装成功:
在这里插入图片描述
这一部分内容来自以下三个链接,因为单纯只看一个人的方法,我并没有安装成功,所以对比了三个人的方法,最后才安装成功。
https://yongqiang.blog.csdn.net/article/details/95256643
https://blog.csdn.net/jgj123321/article/details/107019000
https://blog.csdn.net/a1058420631/article/details/103247138

四、安装CUDA和cuDNN

安装CUDA,因为我安装的是相对最新版本,所以去官网直接选择合适的下载,CUDA下载界面也给出了直接下载的指令,都很简单(看之前的帖子,安装以前的版本,貌似过程需要多几个步骤,这个因人而异)。安装cuDNN很,下载安装包以后,将对应的几个文件夹复制到CUDA的对应文件夹中就可以了。但是一定注意的是,CUDA和cuDNN的版本一定要匹配,包括后续安装Pytorch也一样,如何确定自己应该下载哪个版本,需要自己去官网看。
比如,我要用到Pytorch,所以我登录到Pytorch下载界面如下图所示,目前pytorch最高只支持CUDA11.0,而且可以看出不同的CUDA版本,下载的pytorch版本也不一样。
在这里插入图片描述

1.安装CUDA11.0

1)获取cuda安装命令:https://developer.nvidia.com/cuda-downloads
如下图所示,我需要安装CUDA11.0,但是下面这个图是CUDA11.1的,因为进入官网下载界面,都显示的是最新版本,假如需要往期版本,需要自己探索找一找。
在这里插入图片描述
直接把上面给的两条指令依次输入终端就可以了。

wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run
sudo sh cuda_11.1.1_455.32.00_linux.run

在安装的过程中要注意:
第一条命令结束之后如果出现s段错误,没关系,不用理他。
第二条命令里除了有一步输入accpet,以及在很多X选择的时候,把第一个Nvidia显卡去掉(按回车去掉),其他都是默认,按回车就行。

2)添加环境变量,依次输入以下代码:

gedit ~/.bashrc
# 文本最后添加以下内容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
# 保存退出,打开新终端激活
source ~/.bashrc

3)测试CUDA是否安装成功
输入以下命令,有些可能需要root权限,不过没关系,命令前加sudo就好了:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make
./deviceQuery

假如出现Result = PASS则安装成功
在这里插入图片描述
需要注意的是,在你安装过程中,会提示你需要把哪些路径添加到环境变量中,在这个地方需要,因为某些原因,你可能需要安装多个版本的cuda和配套的cudnn,此时环境变量修改会有变化,不同版本之间切换也需要注意,但是目前我只用一个CUDA,所以还没有尝试过多版本CUDA管理,不过可以借鉴Ubuntu16.04下安装多版本cuda和cudnn

2.安装cuDNN

需要注意的是下载cuDNN可能需要注册一NVIDIA的账号,免费注册的,就是因为外网的原因,注册过程可能有些慢。cuDNN下载界面
在这里插入图片描述
选择下载适合于你CUDA版本的cuDNN点击下载,下载后应该是一个.tgz的压缩包,解压以后进入解压后的文件夹,输入以下命令:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

安装完成
这部分内容转载于https://blog.csdn.net/qq_36999834/article/details/107589779

3.卸载删除CUDA

直接进入CUDA的bin目录,运行自带的卸载文件,比如:

cd /usr/local/cuda/bin
sudo ./cuda-uninstaller

五、安装Anaconda3

这个安装比较简单,安装过程直接借鉴ubuntu16.04安装和使用Anaconda3
这个安装完,像Jupyter Notebook直接在终端输入就可以用了

六、安装Pytorch

pytorch安装常见的有两种方法,一种是pip方法,一种conda方法,不管是那种方法,登录Pytorch官方下载界面都可直接获取下载指令,推荐用pip的方式,即使你已经安装anaconda3也推荐使用pip方法,不容易出错,假如使用conda方法,还需要考虑换下载源的问题,比如说换成清华的下载源,稍微有些麻烦。
在这里插入图片描述
Pytorch官方下载界面输入你个人情况后,就会得到对应的安装命令,比如将如图所示的代码输入终端:

pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

安装结束后,在终端输入python后,再输入import torch as t 假如没报错就说明安装成功了。
在这里插入图片描述

七、安装pycharm

软件安装都比较简单,可参照这个博客ubuntu16.04安装PyCharm但是博客中涉及到pycharm破解的那部分内容,我没有操作过,不知道凑不凑效。

八、安装过程遇到的一些其他问题

1.换镜像,换了镜像也没有实现加速的问题

参考https://blog.csdn.net/watermelon1123/article/details/88122020

2.重启ubuntu以后,发现分辨率不对了,然后发现安装的驱动没了

参考https://blog.csdn.net/qq_29631521/article/details/89036485
参考https://blog.csdn.net/cf_wu95/article/details/85984956

3.多版本CUDA管理切换的问题

参考https://blog.csdn.net/tunhuzhuang1836/article/details/79545625

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值