从零搭建AI开发环境Win11 WSL Ubuntu中PyTorchCUDA 11.6全流程配置指南在Windows 11上通过WSL 2运行Ubuntu进行AI开发已经成为越来越多开发者的选择。这种组合既能享受Windows的易用性又能获得Linux环境的高效开发体验。本文将带你从零开始在Win11的WSL Ubuntu中配置完整的PyTorch开发环境特别针对CUDA 11.6版本进行详细说明。1. 环境准备与基础配置1.1 WSL 2与Ubuntu安装首先确保你的Windows 11系统已启用WSL 2功能。在管理员权限的PowerShell中执行以下命令wsl --install wsl --set-default-version 2安装完成后从Microsoft Store获取Ubuntu 20.04或22.04 LTS版本。首次启动Ubuntu时会自动完成初始化设置记得创建非root用户账户。1.2 NVIDIA驱动检查WSL 2的一个优势是可以直接使用Windows主机安装的NVIDIA驱动。在Windows中确认已安装最新驱动后在Ubuntu终端中运行nvidia-smi正常输出应显示类似以下信息----------------------------------------------------------------------------- | NVIDIA-SMI 525.85.12 Driver Version: 525.85.12 CUDA Version: 12.0 | |---------------------------------------------------------------------------注意WSL中的CUDA版本显示可能高于实际安装版本这是正常现象2. CUDA工具包安装2.1 选择正确的CUDA版本针对PyTorch稳定支持的情况我们选择CUDA 11.6版本。首先添加NVIDIA官方仓库wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-6002.2 安装CUDA 11.6执行以下命令完成安装sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/3bf863cc.pub sudo add-apt-repository deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ / sudo apt-get update sudo apt-get -y install cuda-11-6安装完成后验证CUDA编译器版本nvcc --version2.3 环境变量配置将以下内容添加到~/.bashrc文件末尾export PATH/usr/local/cuda-11.6/bin${PATH::${PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}} export CUDA_HOME/usr/local/cuda-11.6执行source ~/.bashrc使配置生效。3. cuDNN与TensorRT安装3.1 cuDNN 8.4安装从NVIDIA开发者网站下载对应CUDA 11.6的cuDNN 8.4 tar包后执行tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod ar /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*验证安装cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 23.2 TensorRT 8.4安装下载对应CUDA 11.6的TensorRT 8.4 GA tar包后tar -xzvf TensorRT-8.4.1.5.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz添加环境变量到~/.bashrcexport LD_LIBRARY_PATH$LD_LIBRARY_PATH:/path/to/TensorRT-8.4.1.5/lib安装Python包cd TensorRT-8.4.1.5/python pip install tensorrt-8.4.1.5-cp39-none-linux_x86_64.whl4. PyTorch环境配置4.1 创建Python虚拟环境推荐使用conda或venv创建独立环境conda create -n pytorch python3.9 conda activate pytorch4.2 安装PyTorch及相关库针对CUDA 11.6安装对应版本的PyTorchpip install torch1.12.0cu116 torchvision0.13.0cu116 torchaudio0.12.0 --extra-index-url https://download.pytorch.org/whl/cu1164.3 环境验证创建测试脚本test_gpu.pyimport torch print(fPyTorch版本: {torch.__version__}) print(fCUDA可用: {torch.cuda.is_available()}) print(fGPU数量: {torch.cuda.device_count()}) print(f当前GPU: {torch.cuda.current_device()}) print(fGPU名称: {torch.cuda.get_device_name(0)})运行结果应显示CUDA可用且能正确识别GPU设备。5. 常见问题排查5.1 CUDA版本不匹配如果遇到CUDA相关错误首先检查各组件版本一致性组件推荐版本验证命令CUDA11.6nvcc --versioncuDNN8.4cat /usr/local/cuda/include/cudnn_version.hTensorRT8.4 GApython -c import tensorrt; print(tensorrt.__version__)PyTorch1.12.0cu116python -c import torch; print(torch.__version__)5.2 共享内存问题在WSL 2中运行大型模型可能遇到共享内存不足的问题解决方法sudo mount -t tmpfs -o size8G tmpfs /dev/shm可将此命令添加到~/.bashrc中自动执行。5.3 GPU内存管理WSL 2中的GPU内存分配策略与原生Linux不同可通过以下方式优化# 在PyTorch代码开始处添加 torch.cuda.set_per_process_memory_fraction(0.8) # 限制进程使用80%的GPU内存6. 开发环境优化6.1 VS Code远程开发配置安装VS Code的Remote - WSL扩展在WSL终端中执行code .启动VS Code安装Python、Pylance等扩展6.2 Jupyter Notebook配置在虚拟环境中安装并配置Jupyterpip install jupyterlab jupyter lab --ip0.0.0.0 --port8888 --no-browser在Windows浏览器中访问localhost:8888即可使用。6.3 性能调优建议将项目文件存储在WSL文件系统中\\wsl$\Ubuntu-20.04\home\user禁用Windows Defender对WSL目录的实时保护在%UserProfile%\.wslconfig中添加[wsl2] memory16GB processors8 localhostForwardingtrue经过以上步骤你已经拥有了一个完整的AI开发环境。在实际项目中这种配置可以流畅运行大多数计算机视觉和自然语言处理模型。