手把手教你搭建深度学习环境

Posted ghsticker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手把手教你搭建深度学习环境相关的知识,希望对你有一定的参考价值。

最近实验室买了一台新的机器,正好要从头配置机器的环境,把环境记录一下

1.安装ubuntu系统

1.1制作系统盘

首先,我们需要准备三个东西

  • ubuntu的镜像文件,我这里选择的是ubuntu-20.04.2.0-desktop-amd64.iso
  • 镜像制作软件UISO9
  • 一个空的U盘

有个这三样我们就可以开始安装我们的ubuntu系统了。

我们需要先安装好UISO9,制作U盘镜像系统。其中不需要购买软件,只需要试用即可。

第一步:打开我们下载好的iso文件

第二步:选择启动,点击写入硬盘映像,并确认硬盘驱动器是你U盘,映像文件是你下载的ISO文件,点击写入,三四分钟后即可写入完成

1.2 系统安装

我们要在自己本身的要在系统中划出一部分空间来存放ubuntu系统,所以我把分出了400G的硬盘用来安装ubuntu系统。

我们在安装系统之前,还是需要按F2进入机器的bios,修改几个设置,

  1. 找到Secure Boot 将他设置成Disable
  2. 在中设置成UEFI快速启动

这两步中根据品牌的不同,位置也是不同的,在列表中仔细寻找到该位置即可。

设置完以后,重新启动电脑,按F12,选择启动的顺序,这个时候我们需要选择U盘选项进行启动,我们会进入U盘引导项,选择install Ubuntu即可。

接下来就是我们安装ubuntu系统的过程了,一定要注意在安装的时候要断网安装

  1. 先选择中文简体,然后点击安装Ubuntu

  1. 选择键盘布局,我们直接默认,点击继续。

  1. 这里我们的硬盘空间足够大,选择正常安装,但是一定要勾掉安装Ubuntu是下载更新。

  1. 安装类型选择其他选项,继续

  1. 然后我们选择刚开始在window上划分出来给ubuntu系统的空间,点击+号,把挂载点选择成 / 即为根目录。最后点击现在安装。

  2. 下面一步选择时段直接继续就行,然后在设置一个登陆的名字和密码,点击继续后等待安装。

这样Ubuntu系统就安装完毕了。装系统的内容可以参考这篇博客,写的超级详细

安装以后发现一个巨大的坑,就是ubuntu无法联网,经过搜索各种博客,最终解决,可查看这篇博客

接下来我们要对ubuntu系统进行换源,这里也解释一下为什么在安装ubuntu的时候特意强调一定要断网在安装,因为ubuntu安装过程中会下载很多东西,因为国内网络原因,网速会特别的慢,这样会导致我们好几个小时都安装不好ubuntu。

接下来我们将软件源更换成国内的

  1. 我们现将原来的源备份
cp /etc/apt/sources.list /etc/apt/sources.list.bak
  1. 将源的内容设置为阿里云镜像,这里需要注意要用vi,而不要用vim
sudo vi /etc/apt/sources.list

#将sources.list文件修改为:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
  1. 更新软件列表:
sudo apt update
sudo apt upgrade

2. 安装Anaconda

进入官网下载anaconda,也可以使用清华源下载这个会快一些

下载好后,我们开始安装anaconda

bash Anaconda3-2019.03-Linux-x86_64.sh

接下来回车继续,后面会出现一堆的License许可声明,按Q,就会到底部,出现下面如图输入yes,回车

接下来是确认安装目录,我们也是回车

接下来是询问是否进入系统我们就初始化环境,我们这里选择no

出现下面的内容即为安装成功。

因为我们在初始化的时候选择的是no,所以我们需要手动的配置conda的环境变量。

# 在终端输入,这里的/home/gh/anaconda/bin就是你安装anaconda的路径下的bin文件夹
echo 'export PATH="/home/gh/anaconda/bin:$PATH"' >> ~/.bashrc

# 更新文件
 source ~/.bashrc

怎么查看我们安装是否成功呢?运行下面这个命令,要是显示的是你的anaconda的python环境,那就是对的。

which python

安装好anaconda3后,需要给anaconda换成国内的镜像源

我们可以直接运行下面的内容进行修改镜清华源像源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
 
# 搜索时显示通道地址
conda config --set show_channel_urls yes

但是这样运行完以后,配置文件会是这样:

我们需要把- default那一行删除掉

因为要后面可能需要科学上网,所以请大家自行学习科学上网方式,使用科学上网,会让你的安装环境过程减少一大半的问题。

3. 安装 CUDA

首先,我们需要去CUDA官网下载,普通网络可能进去有点慢,所有最好可以科学上网。

选择自己想要下载的版本,这里我下载的CUDA11.0,选择runfile版本的下载。

.run形式安装cuda,清理原有显卡驱动后,先安装自己显卡对应的驱动。

.deb形式安装cuda,由于会默认安装自带的旧版本驱动,故安装成功后,卸载此驱动,再重新安装显卡对应的驱动。

下面会给出下载命令行

wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run

这里如果wget下载比较慢的话,可以配置wget后面的链接到迅雷,通过它下载这样会快一些。

下载完后,我们安装前先看一下nvidia的驱动

nvidia-smi

标1的位置你现在nvidia驱动的版本,标2的位置是安装CUDA的最高版本

这里一定要对应好自己下载的CUDA版本与NVIDIA Driver与Linux与GCC的版本对应关系,可参考博客查看对应关系

执行安装命令:

sudo sh cuda_11.0.2_450.51.05_linux.run

安装的时候会出现下图,选择continue,这里网上有一些博客会说移除掉现有的Nvidia驱动,其实并不需要,保证现装的驱动版本正确即可,还有一些博客会让你禁用nouveau,并且卸载点图形界面,重新安装自己下载的驱动,我试过…然后系统崩溃了,又重新装系统从头配环境…

下一步,我们输入accept

再下一步,因为我们已经有驱动,一定要把Driver这一个给勾掉,不要选他,按回车就可以取消勾选了,最后选择Install,安装

最后安装完毕以后会出现:

安装好以后,需要配置环境变量

sudo gedit ~/.bashrc

在最后面加上

# CUDA Soft Link
export PATH=/usr/local/cuda-11.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

刷新一下:

source ~/.bashrc

测试CUDA是否安装成功,输入

nvcc -V

显示如下,安装成功

4. 安装cuDNN

首先我们需要下载cuDNN,下载的时候我们需要他的官网需要我们注册登录才可以下载,但是他注册登录的功能还是崩溃的…我们需要绕过他的注册登录

点击这里下载,找到自己对应版本的cuDNN,这里我选择cuDNN8.1.1。

点击右键有一个复制链接地址,把这个地址复制到迅雷上,就可以避免注册和登陆,但是有的版本采用这种方法下载的时候,迅雷会一直显示连接资源,出现这种情况,就只能老老实实注册登陆吧。

下载好以后,首先解压:

tar -xvf cudnn-11.2-linux-x64-v8.1.0.77.tgz

复制解压出来的文件到安装好的CUDA环境中,输入:

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*

5.配置SSH & 远程桌面

5.1 配置SSH

因为在学校里面,只要连接校园网就是在同一个局域网下,我将ubuntu系统配置SSH,用于远程连接使用。

sudo apt install ssh

会自动安装好很多依赖包并启动服务,完成之后用XShell等软件就可以SSH登录服务器了。

5.2配置远程桌面

为了方便的可以直接在局域网下远程控制桌面版Ubuntu,安装一下Xrdp,Xrdp是一个开源工具,允许用户通过Windows RDP访问Linux远程桌面。 除了Windows RDP之外,xrdp工具还接受来自其他RDP客户端的连接,如FreeRDP,rdesktop和NeutrinoRDP。 Xrdp现在支持TLS安全层,这样就可以使用window自带的远程工具进行远程控制了。

还有一点要注意:有的Xwindow软件是不太兼容xrdp的(比如ubuntu 18.04的默认桌面),但是ubuntu 20.04使用的Gnome是完全ok的。

安装过程如下:

sudo apt install xrdp 

安装完成xrdp 服务将会自动启动,可以输入下面的命令验证它:

sudo systemctl status xrdp

输出会是这个样子

● xrdp.service - xrdp daemon
Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-05-22 17:36:16 UTC; 4min 41s ago

默认情况下,Xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key,它仅仅对“ssl-cert” 用户组成语可读。运行下面的命令,将xrdp用户添加到这个用户组:

sudo adduser xrdp ssl-cert

重启 Xrdp 服务,使得修改生效:

sudo systemctl restart xrdp

这样就可以使用window自带的远程控制电脑了。

我在配置完以后还是出现了一点问题,在连接成功后远程一直是黑屏,要是同样出现这种情况,可以采用下面的方法进行解决:

vim /etc/xrdp/startwm.sh

在文件中添加

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

最后重启使配置生效:

sudo systemctl restart xrdp

以上是关于手把手教你搭建深度学习环境的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你从零搭建深度学习项目

手把手教你搭建深度学习平台——避坑安装theano+CUDA

手把手教你做安豆计算器-开发环境搭建与部署

Java学习第一步:JDK环境搭建(手把手教你)

手把手教你搭建caffe及手写数字识别(全程命令提示纯小白教程)

白帽子***手把手教你:如何搭建属于自己的******实验环境?