使用WSL2安装配置深度学习环境
ChaptSand Lv3

1. 为什么选择Windows Subsystem for Linux(WSL)?

Linux系统下进行深度学习训练的效率通常高于Windows系统。经过测试,在 Windows Subsystem for Linux (WSL) 中的训练效率比直接在Windows上提升了大约25%

实体Linux对普通用户来说有着诸多不便,例如有些软件只能在Windows中运行,导致需要频繁切换环境,同时数据同步和共享也较为麻烦。

经过多个版本更新,微软的WSL2已非常完善。

WSL的优点:

  1. 无需虚拟机或双系统:WSL允许用户在Windows环境中运行Linux命令行和应用程序,无需配置虚拟机或双启动系统。
  2. 高性能:尤其是从WSL 2版本开始,微软实现了完整的Linux内核支持,通过轻量化虚拟化技术提供接近原生Linux的性能体验。
  3. 集成性强:可以在Windows和Linux之间共享文件,互相调用应用程序。例如,WSL用户可以直接从Windows应用程序中调用Linux命令,反之亦然。
  4. 支持更多Linux发行版:WSL支持包括Arch Linux、Ubuntu、Debian、Fedora等多个Linux发行版,用户可以根据需求选择最适合的发行版。

因此,我选择使用Arch Linux on WSL2来搭建深度学习开发环境(CUDA + cuDNN + Conda + PyTorch)

2. 安装Arch Linux on WSL2

官方Wiki: Arch Linux on WSL

2.1 安装WSL Linux内核

对于Windows 11用户,可以通过一键安装来完成。

在具有管理员权限Windows命令行Shell中执行以下命令:

1
wsl --update

此命令会为当前系统安装WSL Linux内核支持并启用相关功能。安装完成后需要重启。通过wsl -v命令可以查看WSL支持是否已启用。

2.2 安装Arch Linux

1
wsl --install -d archlinux --location D:\WSLOS\Arch

参数说明

  • -d:发行版本
  • --location:自定义安装路径

建议将安装路径设置为剩余空间较大的分区,因为系统体积会随着使用逐渐扩大。

命令执行完毕后,会自动进入到Linux shell环境。

Linux系统初始化及基础配置略过,以下为成功安装Arch Linux的截图:

3. 安装并配置深度学习环境

3.1 安装CUDA

1
sudo pacman -S cuda

安装完成后,使用以下命令验证CUDA是否安装成功:

1
nvcc -V

3.2 安装cuDNN

NVIDIA开发者网站下载适用于Linux和相应CUDA版本的cuDNN。

因为我使用的是Arch Linux,我选择的版本为 v9.13.0 for Linux X86_64 and CUDA 12.x(Tarball格式)。

使用命令下载:

1
wget https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-9.13.0.50_cuda12-archive.tar.xz

下载完成后,进入文件所在目录并解压:

1
tar -xvf cudnn*.tar.xz

解压完成后,将cuDNN的头文件(include)和库文件(lib)复制到系统目录:

1
2
3
sudo mv cudnn-*-archive/include/cudnn*.h /opt/cuda/include
sudo mv cudnn-*-archive/lib/libcudnn* /opt/cuda/lib64
sudo chmod a+r /opt/cuda/include/cudnn*.h /opt/cuda/lib64/libcudnn*

3.3 安装conda

Conda 是一个开源的包管理系统和环境管理工具,可以在Windows、macOS和Linux上运行,适合安装和管理各种软件包及其依赖。

Anaconda vs Miniconda
  • Anaconda:包含多个常用的科学计算库(如numpy、scipy、pandas等),开箱即用,但体积大,更新较慢。
  • Miniconda:仅提供conda包管理器和Python,体积小,灵活性高,适合长期维护。
3.3.1 安装Miniconda

Arch AUR仓库提供了miniconda3,使用以下命令安装:

1
yay -S miniconda3

安装后,将conda的激活脚本添加到shell环境变量中:

1
echo "[ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh" >> ~/.zshrc

3.4 创建conda虚拟环境

创建并激活一个名为cuda_pytorch的虚拟环境:

1
2
conda create --name cuda_pytorch python=3.13
conda activate cuda_pytorch

3.5 安装PyTorch

访问PyTorch官网:PyTorch Get Started

PyTorch官网不再推荐使用conda安装,而是只提供了pip安装方式。

PyTorch 官方停止发布 Conda 包

PyTorch 团队宣布将停止发布依赖于 Anaconda 默认包的 Conda 构建版本,主要原因是 Conda 构建的维护成本过高,且与 PyPI 的下载量差异较大,性价比不高。详情参考 PyTorch Developer Mailing List

3.5.1使用pip安装 GPU 版 PyTorch

由于 PyTorch 官方镜像在国内下载速度较慢,建议使用科学上网环境或更换国内镜像。经验证,目前除了南京大学,清华源、阿里源或其他高校镜像站均没有提供最新的 PyTorch 源码。

同时,很多国内教程错误地将镜像源设置为默认的 CPU 版 PyTorch,导致安装的版本不支持 GPU。

正确安装方式:

要安装支持 CUDA 12.8 的 PyTorch(版本 2.8.0),可以使用官方的安装命令:

1
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu128

对于国内用户,建议使用南京大学镜像站来加速下载:

1
pip3 install torch torchvision --index-url https://mirrors.nju.edu.cn/pytorch/whl/cu128

3.6 验证PyTorch安装

1
2
3
4
5
import torch
print("PyTorch version:", torch.__version__)
print("CUDA available:", torch.cuda.is_available())
print("CUDA version:", torch.version.cuda)
print("GPU name:", torch.cuda.get_device_name(0) if torch.cuda.is_available() else "No GPU detected")
 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
访客数 访问量