核心内容摘要
如何突破Windows系统限制实现MacBook Pro Touch Bar全功能显示?全面解析与实战指南
WSL2环境准备与Ubuntu
2
04安装想在Windows系统里玩转深度学习WSL2绝对是你的最佳拍档。
我去年接手一个图像识别项目时第一次尝试在WSL2上搭建环境实测下来比双系统切换方便太多。
下面这些步骤都是我踩过坑后
总结的精华版。
首先得确保你的Windows版本够新。
建议升级到Win10 21H2或Win11否则会遇到各种兼容性问题。
我有个同事在1909版本折腾了半天最后发现根本装不上CUDA驱动白白浪费一整天。
关键步骤用管理员权限打开PowerShell执行dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart这个命令会启用虚拟机平台功能重启后生效。
记得一定要用管理员权限我有次忘记加权限报错信息看得一头雾水。
去微软官网下载WSL2内核更新包直接双击安装。
最新版下载地址可能会变建议直接搜WSL2 Linux kernel update。
设置WSL2为默认版本wsl --set-default-version 2安装Ubuntu
2
04最省心的方式是从Microsoft Store直接下载。
我试过手动导入镜像结果显卡驱动死活识别不出来。
安装完成后首次启动会提示创建用户这里有个坑密码输入时是不显示字符的别以为是键盘坏了。
验证安装是否成功wsl -l -v看到VERSION显示为2就对了。
如果显示1需要先注销再重新安装wsl --unregister Ubuntu-
22.
GPU驱动与CUDA工具包配置很多人不知道WSL2有个神奇的特性直接使用Windows的NVIDIA驱动这意味着你不需要在Ubuntu里再装一遍驱动。
第一次知道这个特性时我简直感动哭了再也不用担心驱动冲突问题。
验证GPU识别nvidia-smi如果报错八成是Windows驱动没装好。
去NVIDIA官网下载最新Game Ready驱动注意要选WSL支持的版本。
我上个月帮学弟排查问题时发现他的RTX3060必须装515版本以上的驱动才行。
CUDA安装要特别注意版本匹配。
目前主流选择是CUDA
1
1兼容性最好。
千万别直接apt install官方仓库的版本通常很旧。
我推荐的手动安装方法先装编译工具链sudo apt update sudo apt install build-essential从NVIDIA官网下载runfile安装包wget https://developer.download.nvidia.com/compute/cuda/
12.
1/local_installers/cuda_
12.
1_
530.
3
02_linux.run sudo sh cuda_
12.
1_
530.
3
02_linux.run安装时有个关键选项当询问是否安装驱动时一定要选No其他保持默认即可。
我有次手快全选了结果把WSL的驱动环境搞崩了只能重装系统。
配置环境变量是另一个容易翻车的环节。
建议直接修改.bashrc而不是.profile因为WSL的登录方式比较特殊echo export PATH/usr/local/cuda-
1
1/bin:$PATH ~/.bashrc echo export LD_LIBRARY_PATH/usr/local/cuda-
1
1/lib64:$LD_LIBRARY_PATH ~/.bashrc source ~/.bashrc验证安装nvcc -V看到版本信息就说明成功了。
如果提示命令不存在八成是PATH没配置对可以用which nvcc检查路径。
cuDNN深度优化配置cuDNN是深度学习加速的关键但安装过程比CUDA复杂得多。
去年参加Kaggle比赛时我因为cuDNN版本不匹配导致模型训练速度慢了40%血泪教训啊精准安装步骤先去NVIDIA官网下载cuDNN注意必须和CUDA版本严格匹配。
CUDA
1
1对应cuDNN
8.
x系列。
需要注册开发者账号才能下载建议用公司邮箱注册个人邮箱有时会被拦截。
下载deb包后在Windows资源管理器地址栏输入\\wsl$把文件拖到Ubuntu的家目录。
我最初尝试用scp传输结果权限问题折腾了半天。
安装核心库sudo dpkg -i cudnn-local-repo-ubuntu2204-
8.
9.
29_
1.
_amd
deb复制密钥文件注意路径可能不同sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/更新并安装sudo apt update sudo apt install libcudnn8-dev libcudnn8-samples验证安装是否成功cat /usr/include/cudnn_version.h | grep CUDNN_应该能看到类似#define CUDNN_MAJOR 8的版本信息。
最靠谱的测试方法是编译官方示例cp -r /usr/src/cudnn_samples_v8/ ~ cd ~/cudnn_samples_v8/conv_sample make clean make ./conv_sample如果看到Test passed!恭喜你我第一次跑通这个测试时模型训练速度直接提升了3倍。
深度学习框架实战配置环境搭好了总得跑个模型试试吧这里分享几个主流框架的配置技巧。
PyTorch安装conda install pytorch torchvision torchaudio pytorch-cuda
1
1 -c pytorch -c nvidia注意这个pytorch-cuda
1
1参数它能确保安装的PyTorch版本和你的CUDA完美匹配。
我之前漏了这个参数结果torch.cuda.is_available()一直返回False。
验证PyTorch的GPU支持import torch print(torch.cuda.is_available()) # 应该输出True print(torch.rand(10,
.cuda()) # 应该显示在GPU上的张量TensorFlow安装pip install tensorflow[and-cuda]新版的TensorFlow打包了CUDA依赖比老版本省心很多。
不过要注意python版本兼容性TF
10需要Python
8-
10。
验证TensorFlowimport tensorflow as tf print(tf.config.list_physical_devices(GPU)) # 应该显示GPU信息性能优化技巧在~/.bashrc添加export TF_FORCE_GPU_ALLOW_GROWTHtrue这个参数可以防止TensorFlow占满所有显存特别适合调试时使用。
我在开发CV模型时因为这个参数少重启了无数次jupyter kernel。
对于PyTorch建议设置torch.backends.cudnn.benchmark True这个选项会让cuDNN自动寻找最优算法训练速度能提升
%。
不过如果输入尺寸经常变化反而会降低性能。
监控GPU使用情况watch -n 1 nvidia-smi这个命令每秒刷新一次GPU状态调试时特别有用。
有次我发现GPU利用率忽高忽低原来是数据加载没开多线程。