环境配置

在本次AI实战训练营的前10天,我作为一个刚刚接触深度学习的新人,想要在本地配置一个属于自己的AI训练环境。在此期间踩了很多的坑,在此记录,希望对大家有所帮助。

第一次尝试: Windows 11

安装vscodeVScode官网

openlab实验sdn qos实验_深度学习

# 命令行 code 法
code .  # 使用 vscode 打开当前文件夹, . 是当前文件夹的意思
  1. 安装vscode中的python扩展
  2. 安装miniconda3 进入miniconda3官网下载windows对应版本进行安装。

安装后在可视化窗口配置环境变量(图片转自OpenMMLab官方windows配置教程:OpenMMLab官方环境配置教程)

openlab实验sdn qos实验_CUDA_02

后续具体细节暂且记不清楚,但跟着官方教程即可配置成功(OpenMMLab官方环境配置教程)

  1. 安装cuda 进入nvidia的cuda官方下载地址,选择自己对应的版本进行下载,下载前需要保证安装的cuda版本小于等于nvidia-smi上的cuda版本。网上有许多教程,可以进行相应的查询。
  2. 安装pytorch
# CUDA 11.3
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
  1. 安装OpenMMLab后续工具
# openmmlab的官方工具
pip install -U openmim
# openmmlab框架的基础引擎
mim install mmengine
# openmmlab框架的视觉基础组件
mim install 'mmcv==2.0.0rc3'
# openmmlab目标检测库
mim install "mmdet>=3.0.0rc6"
pip install opencv-python pillow matplotlib seaborn tqdm pycocotools -i https://pypi.tuna.tsinghua.edu.cn/simple

注:本过程安装可能会出现mmcv与mmdet的版本兼容问题,此时需要将之前安装好的内容卸载干净,换清华源并重新安装。换源语句如下:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  1. 检查是否安装成功
import torch, torchvision
print('Pytorch 版本', torch.__version__)
print('CUDA 是否可用',torch.cuda.is_available())
import mmcv
from mmcv.ops import get_compiling_cuda_version, get_compiler_version
print('MMCV版本', mmcv.__version__)
print('CUDA版本', get_compiling_cuda_version())
print('编译器版本', get_compiler_version())
import mmdet
print('mmdetection版本', mmdet.__version__)

显示结果如下:

Pytorch 版本 1.12.1 CUDA 是否可用 True MMCV版本 2.0.0 CUDA版本 11.3 编译器版本 MSVC 192829924 mmdetection版本 3.0.0

  1. 进行训练 坑1: OSError: [WinError 1455] 页面文件太小,无法完成操作。 解决方法:坑2: untimeError: CUDA out of memory. Tried to allocate 200.00 MiB (GPU 0; 6.00 GiB total capacity; 4.51 GiB already allocated; 0 bytes free; 5.29 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF 解决方法:
  2. 训练过程可视化 这方面看教程就好了,主要是Panda库与Matplotlib库的使用。不过那个随机选取颜色这一块启发到我了,原来我自己画图都是傻乎乎的一个个去挑颜色,这里要学习一下。 教程:可视化
  3. 模型精简 精简的原因:训练出来的模型中包含很多训练过程中的信息,在预测时使用不到,只会让文件过大,因此要进行精简。 Windows下会报错:FileNotFoundError: [WinError 2] 系统找不到指定的文件。

之后,遂放弃Windows上配置环境。

第二次尝试:Vmware workstation 虚拟机

之后在本地虚拟机中安装了ubuntu 22.04 Server中,尝试是否可以在linux下配置相关环境。

  1. 安装miniconda3,并配置相关的环境变量(将export PATH=$PATH:/home/{username}/miniconda3/bin存入目录下的./.bashrc文件,并执行source ./.bashrc)。
  2. 创建虚拟环境
conda create -n pytorch python=3.9
conda activate pytorch
  1. conda换源
conda config --add channels defaults
conda config --set show_channel_urls true

# 设置默认channels
conda config --add default_channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add default_channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add default_channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2

# 设置 custom channels
conda config --set custom_channels.conda-forge https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
conda config --set custom_channels.msys2 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
conda config --set custom_channels.bioconda https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
conda config --set custom_channels.menpo https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
conda config --set custom_channels.pytorch https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
conda config --set custom_channels.pytorch-lts https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
conda config --set custom_channels.simpleitk https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  1. 安装pytorch、cuda、OpenMMLab后续工具教程同上 此时遇到的问题如下:
  • 问题1:报错没有GCC 解决方法:执行以下代码
apt-get install build-essential
  • 问题2:报错,没有libGL.so.1 解决方法:执行以下代码
apt install libgl1-mesa-glx

5、进行训练,但发现此时的训练为CPU进行的训练,网上查找原因,发现vmware workstation无法对nvidia的gpu进行虚拟化,无法检测的显卡设备,遂放弃vmware workstation的虚拟机方案。

第三次尝试: WSL2

经历了前两次的失败后,最终还是决定在windows11上自带的wsl2上进行环境配置。配置过程如下。

  1. 开启WSL2服务,由于我之前已经开启了,此处对我来说省略。网上有很多相关的教程可以查找。
  2. 安装ubuntu 22.04系统,不想安装到C盘、想安装多个WSL系统的可以参考以下的安装方法:
  3. 同在虚拟机的ubuntu方式一样,安装cuda、miniconda3、pytorch,期间遇到以下问题/usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link。解决方法:解决方法
  4. jupyter lab的安装,参考以下过程。

其他

租用云服务器

使用了autodl,具体见官网