WSL2在Windows上获得原生Linux体验并运行PyTorch1. 为什么选择WSL2进行PyTorch开发如果你是一名Windows用户同时又需要运行PyTorch进行深度学习开发可能会遇到各种环境配置的麻烦。传统方式要么性能不佳要么配置复杂。WSL2(Windows Subsystem for Linux)提供了一种近乎完美的解决方案。WSL2不是简单的虚拟机而是Windows与Linux深度集成的产物。它让你能在Windows上获得接近原生Linux的性能同时还能直接调用宿主机的GPU资源。这意味着你可以使用熟悉的Linux命令行工具运行原生的Linux应用和容器获得比传统虚拟机更好的性能直接访问Windows文件系统最重要的是可以轻松配置PyTorch并利用GPU加速2. 准备工作与环境检查在开始之前我们需要确保你的系统满足WSL2的基本要求2.1 系统要求Windows 10版本2004及更高版本(推荐Windows 11)至少4GB内存(建议8GB以上)支持虚拟化的CPU(大多数现代CPU都支持)对于GPU加速需要NVIDIA显卡和最新驱动2.2 检查系统版本按下WinR输入winver查看Windows版本。确保你的系统版本号不低于2004(内部版本19041或更高)。2.3 启用虚拟化大多数现代电脑默认已开启虚拟化但最好确认一下打开任务管理器(CtrlShiftEsc)切换到性能标签查看CPU部分确认虚拟化已启用如果显示禁用需要进入BIOS/UEFI设置中启用虚拟化技术(通常称为Intel VT-x或AMD-V)。3. 安装和配置WSL23.1 启用WSL功能以管理员身份打开PowerShell运行以下命令dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart完成后重启电脑。3.2 设置WSL2为默认版本重启后再次以管理员身份打开PowerShell运行wsl --set-default-version 23.3 安装Linux发行版打开Microsoft Store搜索并安装Ubuntu(建议选择最新的LTS版本)。安装完成后从开始菜单启动Ubuntu它会自动完成初始设置。首次启动时会要求你创建用户名和密码。这个账户将是Linux子系统的管理员账户。4. 配置GPU支持要在WSL2中使用GPU进行PyTorch训练需要额外配置4.1 安装NVIDIA驱动确保Windows主机已安装最新NVIDIA驱动下载并安装适用于WSL2的NVIDIA CUDA驱动访问NVIDIA开发者网站下载并安装最新的CUDA驱动4.2 在WSL2中安装CUDA工具包在Ubuntu终端中运行sudo apt update sudo apt upgrade -y sudo apt install -y nvidia-cuda-toolkit安装完成后验证GPU是否可用nvidia-smi你应该能看到类似如下的输出显示你的GPU信息----------------------------------------------------------------------------- | NVIDIA-SMI 510.47.03 Driver Version: 511.65 CUDA Version: 11.6 | |--------------------------------------------------------------------------- | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | || | 0 NVIDIA GeForce ... On | 00000000:01:00.0 On | N/A | | N/A 45C P8 10W / N/A | 123MiB / 8192MiB | 0% Default | | | | N/A | ---------------------------------------------------------------------------5. 安装PyTorch并配置开发环境5.1 安装Miniconda(推荐)在Ubuntu终端中运行wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh按照提示完成安装然后关闭并重新打开终端。5.2 创建并激活conda环境conda create -n pytorch_env python3.9 conda activate pytorch_env5.3 安装PyTorch根据你的CUDA版本安装对应的PyTorch。对于CUDA 11.6conda install pytorch torchvision torchaudio cudatoolkit11.6 -c pytorch -c conda-forge5.4 验证PyTorch GPU支持启动Python解释器并运行import torch print(torch.cuda.is_available()) # 应该返回True print(torch.rand(5,3).cuda()) # 应该在GPU上创建张量如果一切正常你将看到类似输出True tensor([[0.1234, 0.5678, 0.9012], [0.3456, 0.7890, 0.1234], [0.5678, 0.9012, 0.3456], [0.7890, 0.1234, 0.5678], [0.9012, 0.3456, 0.7890]], devicecuda:0)6. 实用技巧与优化建议6.1 文件系统访问WSL2的一个便利之处是可以直接在Linux中访问Windows文件反之亦然在WSL中访问Windows文件/mnt/c/对应C盘/mnt/d/对应D盘以此类推在Windows中访问WSL文件在文件资源管理器中输入\\wsl$\Ubuntu(假设你安装的是Ubuntu)6.2 性能优化将项目文件放在WSL文件系统中(如~/projects)而不是Windows文件系统(/mnt/c/)以获得更好的性能对于大型数据集考虑使用Windows文件系统但要注意性能影响6.3 使用VS Code进行开发在Windows上安装VS Code安装Remote - WSL扩展在WSL终端中输入code .VS Code会自动配置远程开发环境这样你可以在Windows上使用VS Code的所有功能同时实际代码执行在WSL环境中。7. 总结通过WSL2搭建PyTorch开发环境我们成功地在Windows系统上获得了接近原生Linux的开发体验同时还能充分利用GPU加速。整个过程虽然涉及多个步骤但每一步都有明确的操作指引。实际使用下来WSL2的性能表现令人满意特别是对于深度学习开发这种需要频繁使用命令行和GPU加速的场景。如果你遇到任何问题建议先检查各组件版本是否兼容特别是Windows版本、WSL2版本、NVIDIA驱动版本和PyTorch版本之间的匹配关系。大多数问题都能通过更新到最新版本解决。现在你可以愉快地在Windows上使用PyTorch进行深度学习开发了享受Linux的强大功能而不必离开熟悉的Windows环境。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。