zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

Ubuntu20.04配置深度学习环境

配置学习 环境 深度 ubuntu20.04
2023-09-11 14:19:29 时间

Ubuntu20.04配置深度学习环境

对于一台新Ubuntu20.04主机,想要直接进行深度学习模型的训练,需要进行一些常规配置。本文针对的情况包括物理机和虚拟机。安装部分本文不介绍,只介绍配置环境部分。

1. 安装中文输入法

参考如下博客:Ubuntu中文输入法

2. 更换apt源

参考这篇文章:更换apt源

3. 安装zerotier 【可选】

zerotier是用来进行内网穿透的,如果有这方面需求的朋友可以安装。官网链接

在终端中输入curl -s https://install.zerotier.com | sudo bash安装zerotier

安装完成后,输入sudo zerotier-cli info,显示结果如下,则表明安装成功了,如果失败了,可以尝试卸载重装。

200 info c7cb5c3623 1.10.3 ONLINE

通过在官网注册账号,创建一个网络,并让ubuntu主机加入创建好的新网络。假设新创建的网络号是net_number,则通过如下命令加入(将net_number修改成你自己创建的网络号)

sudo zerotier-cli join net_number

显示200 join OK表明成功加入网络。

接下来,开启防火墙,sudo ufw enable

4. 配置SSH

安装openssh:sudo apt install openssh-server

安装后,查看SSH运行状态:sudo systemctl status ssh

设置防火墙允许22端口出入:sudo ufw allow 22/tcp

5. 安装vscode 【可选】

可以直接通过Ubuntu software安装

6. 安装miniconda

教程参考这篇博客:安装Miniconda

7. 安装CUDA

截至目前(2023/2/24)最新版是cuda12.0,故本教程安装cuda12.0.

在安装cuda12.0之前,先根据官网对照表查看下cuda版本对应显卡驱动版本最低要求(如果驱动版本和cuda不对应会有电脑无法正常启动的风险,谨慎操作):Cuda和驱动版本对应

在这里插入图片描述

由上表可以看出,想安装cuda12.0需要至少525.60.13的驱动版本。安装如下步骤进行驱动安装更新:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002204sv00001462sd00003882bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-525 - third-party non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-515-open - distro non-free
driver   : nvidia-driver-515-server - distro non-free
driver   : nvidia-driver-525-server - distro non-free
driver   : nvidia-driver-515 - distro non-free recommended
driver   : nvidia-driver-510 - distro non-free
driver   : nvidia-driver-525-open - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin
# 或者安装指定驱动(这里挑选自己需要的驱动,然后安装即可,不必卸载之前装过的驱动)
$ sudo apt install nvidia-driver-525

接下来开始安装cuda12.0。

首先从官网下载最新版的安装包,Cuda12.0

在这里插入图片描述
根据官方提示,在终端中输入如下指令进行下载和安装

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda-repo-ubuntu2004-12-0-local_12.0.1-525.85.12-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-12-0-local_12.0.1-525.85.12-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

安装完成后,需要将CUDA的路径添加到系统环境变量中。打开终端,执行以下命令:

echo 'export PATH=/usr/local/cuda-12.0/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

测试CUDA是否安装成功。可以使用以下命令查看CUDA版本信息:

nvcc --version

如果输出类似于以下内容,则表示CUDA安装成功:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_16:45:21_PST_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0

接下来测试下nvidia-smi命令:

如果输出类似于以下内容,则表示一切顺利:

Fri Feb 24 14:38:04 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.12    Driver Version: 525.85.12    CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0  On |                  N/A |
|  0%   34C    P8    16W / 420W |    168MiB / 24576MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1343      G   /usr/lib/xorg/Xorg                 44MiB |
|    0   N/A  N/A      1664      G   /usr/bin/gnome-shell              121MiB |
+-----------------------------------------------------------------------------+

8. CUDNN

首先,从NVIDIA官方网站(CUDNN)下载与你所使用的CUDA版本相对应的CuDNN安装包。需要注意的是,你需要先安装CUDA才能安装CuDNN。

根据自己安装的CUDA版本选择CUDNN的版本。我教程安装的是CUDA12.0,所以CUDNN选择对应版本下载。
在这里插入图片描述
选择对应的Ubuntu20.04版本的CUDNN下载。需要下载下图红框中的两个文件。

在这里插入图片描述

下载到本地后上传到服务器中,如果使用vscode远程连接的服务器可以直接拖拽过去上传,如果没用vscode可以使用其他SFTP软件上传,或者在Windows的终端中使用scp命令上传到服务器中。

安装步骤参考的这篇博客Ubuntu 20.04 安装 CUDNN

首先解压cudnn-linux-x86_64-8.8.0.121_cuda12-archive.tar.xz

tar -xJvf cudnn-linux-x86_64-8.8.0.121_cuda12-archive.tar.xz 

然后切换目的到解压后的文件中:

cd cudnn-linux-x86_64-8.8.0.121_cuda12-archive/

然后将解压得到的目录中 includelib 目录下的内容复制到 /usr/local/cuda-12.0/include/usr/local/cuda-12.0/lib64 中, 但是需要注意,解压目录中的 lib 中有很多软链接,所以在复制lib 中的内容时需要用 cp -d 命令:

sudo cp -d -r ./lib/* /usr/local/cuda-12.0/lib64/
sudo cp -r ./include/* /usr/local/cuda-12.0/include/

然后赋予权限:

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

查看 CUDNN 的信息:

cat /usr/local/cuda-12.0/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

输出类型如下结果,就表明这一步操作完成了:

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 8
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

/* cannot use constexpr here since this is a C-only file */

然后安装cudnn-local-repo-ubuntu2004-8.8.0.121_1.0-1_amd64.deb,执行如下命令开始安装:

sudo dpkg -i cudnn-local-repo-ubuntu2004-8.8.0.121_1.0-1_amd64.deb

注意:cudnn-local-repo-ubuntu2004-8.8.0.121_1.0-1_amd64.deb是下载好的安装包名字,更改为你下载的那个安装包名。

执行完上述命令后,会出现类似如下内容:


复制方框里的内容,粘贴在终端中,执行:

sudo cp /var/cudnn-local-repo-ubuntu2004-8.8.0.121/cudnn-local-A9E17745-keyring.gpg /usr/share/keyrings/

9. Pytorch-GPU安装 【可选】

安装完成CUDA后,进行pytorch-GPU安装,参考官方安装教程:Pytorch安装

在终端输入如下命令安装:

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

安装完成后,在终端中打开python交互界面(在终端中输入python,然后回车进入),输入如下命令:

import torch
print(torch.cuda.is_available())

如果输出结果是True,则表明Pytorch-GPU安装成功。

10. 增加SWAP大小 【可选】

首先利用sudo swapon --show查看已有的SWAP分区,再通过sudo swapoff /swapfile禁用名为/swapfileSWAP分区。

然后安装如下步骤增加SWAP分区:

  1. 创建一个空白文件来作为SWAP分区:
sudo fallocate -l <size> /swapfile

其中,为需要分配的SWAP空间大小,单位为字节。例如,要创建一个2GB的SWAP分区,可以使用以下命令:

sudo fallocate -l 2G /swapfile
  1. 将该文件设置为SWAP分区:
sudo mkswap /swapfile
  1. 启用SWAP分区:
sudo swapon /swapfile
  1. 将SWAP分区设置为开机自启动:
sudo nano /etc/fstab

在打开的文件末尾添加以下行:

/swapfile none swap sw 0 0

保存文件并退出。

完成以上步骤后,可以通过以下命令检查新创建的SWAP分区是否已经生效:

sudo swapon --show