告别Win系统Bug!保姆级教程:在WSL2上从零搭建CUDA 11.8 + PyTorch 2.2深度学习环境(含迁移到D盘避坑指南)
告别Win系统Bug保姆级教程在WSL2上从零搭建CUDA 11.8 PyTorch 2.2深度学习环境含迁移到D盘避坑指南如果你是一名深度学习开发者可能已经受够了Windows系统下各种环境配置的麻烦——驱动冲突、路径错误、C盘空间告急……这些问题不仅浪费时间还可能让整个项目陷入停滞。而WSL2Windows Subsystem for Linux 2提供了一个完美的折中方案既保留了Windows的易用性又能享受Linux环境的稳定和高效。本文将带你从零开始在WSL2上搭建完整的CUDA 11.8和PyTorch 2.2深度学习环境并特别解决一个高频痛点如何将WSL2系统从C盘迁移到D盘彻底解放你的系统盘空间。整个过程包含详细的操作步骤、可能遇到的错误及解决方案确保你能获得一个稳定、高效的开发环境。1. WSL2基础安装与配置1.1 启用WSL2功能在开始之前确保你的Windows系统版本为1903或更高并且支持WSL2。以下是启用步骤以管理员身份打开PowerShell运行以下命令启用WSL功能dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart启用虚拟机平台功能dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启计算机使更改生效。提示如果你的系统版本较旧可能需要先升级Windows。WSL2需要Windows 10版本2004或更高或者Windows 11。1.2 安装Linux发行版Microsoft Store提供了多种Linux发行版选择。对于深度学习环境推荐使用Ubuntu 22.04 LTS打开Microsoft Store搜索Ubuntu 22.04 LTS并安装安装完成后从开始菜单启动Ubuntu首次启动时会提示创建用户名和密码注意输入密码时不会显示字符这是正常现象1.3 设置WSL2为默认版本安装完成后确保WSL2是默认版本wsl --set-default-version 2验证当前WSL版本wsl -l -v输出应显示VERSION为2。2. WSL2系统迁移至D盘解放C盘空间默认情况下WSL2虚拟机文件存储在C盘随着使用会占用大量空间。以下是迁移到D盘的完整步骤2.1 准备工作在D盘创建目标文件夹例如D:\wsl\ubuntu查看已安装的WSL发行版名称wsl -l -v记下你的发行版名称通常是Ubuntu-22.042.2 导出和迁移系统停止WSL服务wsl --shutdown导出当前系统到tar文件wsl --export Ubuntu-22.04 D:\wsl\ubuntu.tar注销原有系统wsl --unregister Ubuntu-22.04导入系统到新位置wsl --import Ubuntu-22.04 D:\wsl\ubuntu D:\wsl\ubuntu.tar --version 22.3 恢复用户配置迁移后需要重新设置默认用户在PowerShell中查看你的用户名ubuntu2204.exe config --default-user设置默认用户替换yourusername为你的实际用户名ubuntu2204.exe config --default-user yourusername注意如果遇到权限问题可能需要以管理员身份运行PowerShell。3. 深度学习环境基础配置3.1 系统更新与基础工具在WSL2终端中执行以下命令更新系统并安装必要工具sudo apt update sudo apt upgrade -y sudo apt install -y build-essential cmake git wget curl unzip3.2 配置清华软件源为了加速国内下载速度更换为清华源备份原有源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak编辑源列表sudo sed -i shttp://.*archive.ubuntu.comhttps://mirrors.tuna.tsinghua.edu.cng /etc/apt/sources.list sudo sed -i shttp://.*security.ubuntu.comhttps://mirrors.tuna.tsinghua.edu.cng /etc/apt/sources.list更新软件包索引sudo apt update4. Conda环境配置4.1 安装Miniconda推荐使用更轻量级的Minicondawget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh按照提示完成安装然后重新打开终端使更改生效。4.2 创建Python虚拟环境创建一个专用于深度学习的虚拟环境conda create -n dl python3.10 -y conda activate dl配置pip使用国内镜像源加速下载pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple5. CUDA 11.8安装与配置5.1 安装NVIDIA驱动在Windows主机上访问NVIDIA驱动下载页面选择你的显卡型号并下载最新驱动安装完成后重启计算机5.2 安装CUDA Toolkit在WSL2中安装CUDA 11.8wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run安装时注意当提示安装驱动时选择No驱动已在Windows安装其他选项保持默认5.3 配置环境变量编辑~/.bashrc文件echo export PATH/usr/local/cuda-11.8/bin:$PATH ~/.bashrc echo export LD_LIBRARY_PATH/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH ~/.bashrc echo export CUDA_HOME/usr/local/cuda-11.8 ~/.bashrc source ~/.bashrc验证安装nvcc --version应显示CUDA 11.8相关信息。6. cuDNN安装6.1 下载cuDNN从NVIDIA开发者网站下载与CUDA 11.8兼容的cuDNN版本需要注册账号。6.2 安装cuDNN假设下载的文件为cudnn-linux-x86_64-8.x.x.x_cuda11-archive.tar.xztar -xvf cudnn-linux-x86_64-8.x.x.x_cuda11-archive.tar.xz sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda-11.8/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda-11.8/lib64 sudo chmod ar /usr/local/cuda-11.8/include/cudnn*.h /usr/local/cuda-11.8/lib64/libcudnn*验证安装cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 27. PyTorch 2.2安装与验证7.1 安装PyTorch在之前创建的conda环境中运行conda install pytorch2.2.2 torchvision0.17.2 torchaudio2.2.2 pytorch-cuda11.8 -c pytorch -c nvidia7.2 验证安装启动Python解释器并运行以下代码import torch print(torch.__version__) # 应显示2.2.2 print(torch.cuda.is_available()) # 应返回True print(torch.cuda.get_device_name(0)) # 显示你的GPU型号8. 性能优化与实用技巧8.1 内存与交换空间配置WSL2默认内存限制可能不足在Windows用户目录下创建或修改.wslconfig文件[wsl2] memory16GB # 根据你的系统调整 swap8GB localhostForwardingtrue然后重启WSLwsl --shutdown8.2 GPU加速验证运行一个简单的矩阵乘法测试GPU性能import torch import time device torch.device(cuda) x torch.randn(10000, 10000, devicedevice) y torch.randn(10000, 10000, devicedevice) start time.time() z torch.matmul(x, y) print(fTime: {time.time()-start:.4f} seconds)8.3 文件系统交互优化WSL2与Windows文件系统交互较慢建议将项目代码放在WSL2文件系统中/home/username使用/mnt/c访问Windows文件时避免频繁IO操作9. 常见问题解决9.1 CUDA不可用问题如果torch.cuda.is_available()返回False检查NVIDIA驱动版本是否支持CUDA 11.8确保WSL2中安装了正确的CUDA版本验证环境变量设置是否正确9.2 内存不足错误训练大型模型时可能遇到内存不足调整.wslconfig中的内存限制使用更小的batch size启用梯度检查点gradient checkpointing9.3 文件权限问题在Windows和WSL之间操作文件可能导致权限混乱# 修复WSL中文件权限 sudo chown -R $USER:$USER /path/to/directory10. 环境备份与恢复10.1 备份conda环境conda env export environment.yml10.2 创建系统快照定期导出WSL系统备份wsl --export Ubuntu-22.04 D:\wsl_backups\ubuntu_$(Get-Date -Format yyyyMMdd).tar10.3 恢复环境从备份恢复conda环境conda env create -f environment.yml从快照恢复WSL系统wsl --import Ubuntu-22.04 D:\wsl\ubuntu D:\wsl_backups\ubuntu_20240101.tar --version 2
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2584535.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!