WSL配置PyTorch + MMDetection环境

WSL

Windows Subsystem for Linux(WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

安装WSL

  1. 在Win11搜索栏中搜索功能,打开启用或关闭Windows功能
  2. 启用或关闭Windows功能中勾选适用于Linux的Windows子系统虚拟机平台
  3. 重启电脑,在Microsoft Store中搜索并下载Ubuntu
  4. 打开即可(可能需要更新内核):
    1. 更新内核: 在终端中输入wsl --update
  5. 打开WSL输入用户名及密码即可

以下安装均在root权限下安装: sudo -i(进入管理员模式)

安装miniconda

  1. miniconda官网下载Linux版安装包
  2. 将安装包移动至WSL路径下:
    mv /mnt/c/Users/用户名/Downloads/Miniconda3-latest-Linux-x86_64.sh ~/Miniconda3-latest-Linux-x86_64.sh
  3. 运行安装包
    bash Miniconda3-latest-Linux-x86_64.sh

安装CUDA环境

  1. 安装CUDA环境前需要具备gcc
    1. 安装gcc: sudo apt-get install build-essential
  2. 安装CUDA toolkit
    1. 进入CUDA官网,选择要下载的CUDA版本
    2. 根据下图选择安装系统
      image.png
    3. 在WSL中执行下载命令
      wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
    4. 运行CUDA安装文件
      sudo sh cuda_11.8.0_520.61.05_linux.run
    5. ~/.bashrc中添加环境变量
      1. vim ~/.bashrc
      2. shift + g移动至文件结尾,按o进入编辑
      3. 添加以下内容
      	# >>> cuda path >>>
      	export PATH=/usr/local/cuda-11.5/bin:$PATH
      	export LD_LIBRARY_PATH=/usr/local/cuda-11.5/lib64:$LD_LIBRARY_PATH
      	# <<< cuda path <<<
      
      1. 按下esc退出编辑,输入:wq保存并退出
  3. 验证CUDA安装成功: nvcc -V

安装cuDNN

  1. 进入cuDNN官网(需要注册)
  2. 选择要下载的版本
    image.png
  3. 现在下载的cuDNN文件为.xz的压缩包,需要使用xz-utils解压
    1. 下载xz-utils: sudo apt install xz-utils
    2. 解压cuDNN: tar -xf cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz
    3. 将cuDNN文件复制至CUDA文件夹下
      	cd cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz
      	sudo cp lib/libcudnn* /usr/local/cuda-11.8/lib64/
      	sudo cp include/cudnn.h /usr/local/cuda-11.8/include
      	sudo cp include/cudnn_version.h /usr/local/cuda-11.8/include/
      	sudo chmod a+r /usr/local/cuda-11.8/include/cudnn.h
      

安装PyTorch

  1. 进入PyTorch官网
  2. 选择合适的版本
    image.png
  3. 创建conda环境: conda create --name mmdet python=3.8 -y
  4. 激活conda环境: conda activate mmdet
  5. 安装PyTorch,使用PyTorch提供的安装指令
    conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

验证安装

  1. 激活conda环境: conda activate mmdet
  2. 进入pyhton,执行以下代码:
    	import torch
    	from torch.backends import cudnn
    
    	print(torch.cuda.is_available()    # 验证cuda可用性
    	print(cudnn.is_available())	   # 验证cudnn可用性
    

安装MMDetection

  1. 下载OpenMIM,可以一键化安装mmcv-fullmmdet
    pip install openmim
  2. 使用MIM安装mmcv-full: mim install mmcv-full
    1. MIM 会自动检查 CUDA 和 PyTorch 环境并尽量安装和环境匹配的预编译版本的mmcv-full,所以出现Building wheel for mmcv-full (setup.py) ...时需要等待一段时间
  3. 使用MIM安装mmdet: mim install mmdet
  4. 验证安装,下载mmdetection源码,运行其中的demo
tag(s):
show comments · back · home