1. 为什么选择Windows Subsystem for Linux(WSL)?
在Linux系统下进行深度学习训练的效率通常高于Windows系统。经过测试,在 Windows Subsystem for Linux (WSL) 中的训练效率比直接在Windows上提升了大约25%。
实体Linux对普通用户来说有着诸多不便,例如有些软件只能在Windows中运行,导致需要频繁切换环境,同时数据同步和共享也较为麻烦。
经过多个版本更新,微软的WSL2已非常完善。
WSL的优点:
- 无需虚拟机或双系统:WSL允许用户在Windows环境中运行Linux命令行和应用程序,无需配置虚拟机或双启动系统。
- 高性能:尤其是从WSL 2版本开始,微软实现了完整的Linux内核支持,通过轻量化虚拟化技术提供接近原生Linux的性能体验。
- 集成性强:可以在Windows和Linux之间共享文件,互相调用应用程序。例如,WSL用户可以直接从Windows应用程序中调用Linux命令,反之亦然。
- 支持更多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 | sudo mv cudnn-*-archive/include/cudnn*.h /opt/cuda/include |
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 | conda create --name cuda_pytorch python=3.13 |
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 | import torch |