使用GPU服务器搭建Pytorch并训练YOLO v3数据集

2022-05-30 15:27:43 浏览数 (2)

这个系列包括三篇文章:

第一节 GPU服务器的环境配置

第二节 YOLO v3的数据集制作

第三节 训练数据集并使用 wandb 监控训练过程,验证训练效果

注意,本文适合有一定Linux基础但对 Linux 下使用Pytorch进行深度学习不熟悉的同学。

第一节 GPU服务器的环境配置

1.1 服务器即及镜像的选取

如下,推荐使用竞价实例,更便宜,V100(32G)最适合深度学习,P40(24G)其次,T4(16G)最差

选取服务器配置选取服务器配置

同时镜像市场有很多配置好环境的可以选择,大大减少了配置难度。也可以勾选自动配置GPU驱动和CUDA。带宽建议选择5M以上,否则wandb上传数据的时候会卡的 Shell 都动不了

设置GPU自动配置设置GPU自动配置

实际上,GPU和CUDA版本并不是一一对应,CUDA和GPU驱动可以分开或一起安装。网络上很多教程安装了GPU驱动又安装CUDA,且安装的是带GPU驱动的CUDA就让人很迷惑,这不是覆盖了之前安装的GPU驱动嘛。

相关教程如下,感兴趣的可以研究研究。如果使用腾讯云自动配置驱动可以跳过。

1、安装CUDA驱动(带有GPU驱动)CUDA Toolkit 11.6 Update 2 Downloads | NVIDIA Developer

2、安装cudnn 安装指南 :: NVIDIA 深度学习 cuDNN 文档

3、设置环境变量

代码语言:javascript复制
sudo gedit ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin
#然后,输入以下命令使配置的环境变量立即生效:
source ~/.bashrc
#查看当前cuda是否成功安装
nvcc -V

当然具体情况具体分析,要根据自己实际的配置情况设置环境变量。

如果勾选了自动配置驱动,连接服务器后可以看见带有cuda/gpu等字样的进程,请耐心等待,直到 nvidia-smi 及 nvcc- V命令有输出才安装完成。

htop 进程htop 进程

安装完成后,简单看一下GPU:

GPU配置GPU配置

可以看见显存大概 15G,这是个很关键的参数,在 YOLO v3 里面大概 416 图像大小 batch只能设置到 50 左右,深度学习效果、速度和显存大小关系巨大。

还有个功耗,这里显示 8w/70w,大概可以看出来显卡有没有吃满。( P40 是 240w,所以虽然老,但是猛)

1.2 conda的配置

conda 是 Anaconda 的 Python 包管理器,可以理解为优化了深度学习支持的 pip

Linux 安装脚本可以在官网生成 https://www.anaconda.com/download/#linux 请勿使用 sudo/root 权限

代码语言:javascript复制
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh -O anaconda.sh
bash anaconda.sh

如果不想每次连接shell都默认conda环境的话,可以执行以下命令关掉。这样就不会有烦人的(base)了

代码语言:javascript复制
conda config --set auto_activate_base false

当然,想进入conda环境很简单,默认环境叫base:

代码语言:javascript复制
conda activate base

为了隔离环境,我们配置一个名叫pytorch的环境,预设python版本为3.9,然后切到这个环境:

代码语言:javascript复制
conda create -n pytorch python=3.9
conda activate pytorch

为了安装pytorch或者拉取包快一点,我们为conda配置国内源(发布文章时腾讯没有哦)

代码语言:javascript复制
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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/

1.3 Pytorch安装

Pytorch 配置也是极其简单的,进入官网PyTorch选择需要的版本,执行命令即可,注意CUDA版本要和驱动对应哦

Pytorch官网生成安装命令Pytorch官网生成安装命令
代码语言:javascript复制
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

验证安装:

如果执行以下命令,输出正常的话,则代表 Pytorch 和 CUDA 配置好啦

(conda是用来隔离环境,简化配置的,不要以为它没用哦)

代码语言:javascript复制
#先进入python环境
python

import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
print(torch.cuda.is_available()
代码语言:javascript复制
>>> import torch
>>> print(torch.__version__)
1.11.0
>>> print(torch.version.cuda)
11.3
>>> print(torch.backends.cudnn.version())
8200
>>> print(torch.cuda.is_available())
True

配置完成后,就可以愉快的玩耍啦!,就可以使用Pytorch 进行训练了。很多大佬后面应该都会,所以这篇就不放了,下一篇再给小白详细讲。

0 人点赞