Win11系统优化:为深度学习项目训练环境做准备
如果你刚开始接触深度学习,可能会觉得在Windows上搭建训练环境有点麻烦。各种驱动、库、工具,装起来总是不太顺利。其实,只要把系统环境提前优化好,后面的路会顺畅很多。
我自己刚开始用Windows做深度学习时,也踩过不少坑。后来发现,很多问题其实都出在系统环境上——比如驱动没装对、系统设置没调好、或者开发工具没选对。今天这篇文章,我就把自己这些年积累的Windows 11系统优化经验分享给你,帮你把基础打牢,为后续的深度学习项目训练做好准备。
1. 为什么要在Windows上做深度学习?
很多人一提到深度学习,第一反应就是Linux。确实,Linux在服务器端是绝对的主流,但如果你是在个人电脑上学习、做实验,或者开发一些中小型项目,Windows其实是个很不错的选择。
Windows的优势很明显:界面友好、软件生态丰富、日常使用方便。你不用为了跑个代码,还得专门切换到另一个系统。而且现在的Windows 11,对开发者的支持也越来越好,特别是有了WSL2(Windows Subsystem for Linux 2)之后,你几乎可以在Windows上获得原生的Linux开发体验。
但Windows也有它的挑战:驱动兼容性、环境变量管理、性能调优,这些都需要你花点心思去处理。不过别担心,只要按照下面的步骤一步步来,你就能搭建出一个稳定、高效的深度学习开发环境。
2. 系统基础检查与更新
在开始任何优化之前,我们先确保系统本身是健康、最新的。
2.1 检查系统版本与激活状态
首先,确认你用的是正版Windows 11。你可以在微软官网下载官方镜像进行安装或升级。打开“设置” -> “系统” -> “关于”,查看你的Windows规格。确保版本号是较新的(比如23H2或更高),这样能获得最好的兼容性和性能。
2.2 安装所有系统更新
进入“设置” -> “Windows更新”,点击“检查更新”。把所有可用的质量更新、功能更新都安装上。这一步很重要,因为很多系统级的Bug修复和性能改进都包含在更新里。安装完成后,最好重启一次电脑。
2.3 检查硬件驱动
深度学习,尤其是用GPU训练,对硬件驱动的要求很高。我们需要确保显卡、主板芯片组等关键硬件的驱动都是最新的。
- 显卡驱动:如果你用的是NVIDIA显卡(这是深度学习的主流选择),直接去NVIDIA官网下载最新的Game Ready或Studio驱动。安装时选择“自定义安装”,并勾选“执行清洁安装”,这样可以避免旧驱动的残留文件造成冲突。
- 主板芯片组驱动:去你的电脑品牌官网(如戴尔、联想)或主板制造商官网(如华硕、微星),下载对应型号的最新芯片组驱动并安装。这能确保CPU、内存等核心部件以最佳状态运行。
3. 启用并配置WSL2
WSL2是微软为开发者提供的一个“神器”。它让你能在Windows里直接运行一个完整的Linux内核,而且性能损耗极低。对于深度学习来说,很多工具链和库在Linux下的兼容性更好,用WSL2可以完美解决这个问题。
3.1 启用WSL功能
以管理员身份打开Windows PowerShell(在开始菜单搜索“PowerShell”,右键选择“以管理员身份运行”),然后依次执行以下命令:
# 启用“适用于Linux的Windows子系统”可选功能 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。
- 下载并安装WSL2 Linux内核更新包。你可以直接在微软官网搜索“WSL2 Linux kernel update package for x64 machines”找到下载链接。下载后直接运行安装即可。
- 安装完成后,在PowerShell中运行以下命令,将WSL的默认版本设置为2:
wsl --set-default-version 2
3.3 安装Linux发行版
现在,你可以从微软商店(Microsoft Store)安装你喜欢的Linux发行版了。对于深度学习新手,我强烈推荐Ubuntu,因为它的社区最活跃,遇到问题也最容易找到解决方案。
打开Microsoft Store,搜索“Ubuntu”,选择最新的LTS版本(比如Ubuntu 22.04 LTS)进行安装。安装完成后,在开始菜单找到它并启动。第一次启动会需要几分钟来初始化,并让你设置一个用户名和密码(这个密码是Linux系统的,和Windows密码无关,请务必记住)。
3.4 优化WSL2配置
为了让WSL2用起来更顺手,我们可以对它进行一些优化。在Windows用户目录下(通常是C:\Users\你的用户名),创建一个名为.wslconfig的文件(注意前面有个点),然后用记事本打开,填入以下内容:
[wsl2] # 限制WSL2使用的最大内存,避免它占用过多系统资源。根据你电脑的总内存来调整,比如32G内存可以设为8G或12G。 memory=8GB # 限制WSL2使用的CPU核心数。通常设置为总核心数的一半或三分之二,留一些给Windows系统和其他应用。 processors=4 # 启用本地主机转发,这样你可以在Windows的浏览器里直接访问WSL中运行的服务(比如Jupyter Notebook)。 localhostForwarding=true保存文件后,在PowerShell中运行wsl --shutdown来关闭WSL,下次启动时配置就会生效。
4. 系统性能调优
深度学习训练是计算密集型任务,我们需要让系统把资源优先分配给这些“重活”。
4.1 电源计划设置为高性能
在开始菜单搜索“编辑电源计划”,点击进入。选择“高性能”计划。如果看不到这个选项,点击左侧的“创建电源计划”,然后选择“高性能”,给它起个名字(比如“深度学习模式”)并创建。
在创建的计划设置里,进入“更改高级电源设置”。找到“处理器电源管理”,将“最小处理器状态”和“最大处理器状态”都设置为100%。同时,将“系统散热方式”设置为“主动”,确保散热风扇会积极工作,防止CPU/GPU过热降频。
4.2 调整视觉效果以提升性能
右键点击“此电脑” -> “属性” -> “高级系统设置” -> “高级”选项卡 -> “性能”区域的“设置”。
在弹出的“性能选项”窗口中,选择“调整为最佳性能”。这会关闭Windows的大部分动画和视觉效果,虽然界面看起来没那么“炫”了,但能节省出不少系统资源给计算任务。如果你觉得界面太简陋,也可以选择“自定义”,然后只保留“平滑屏幕字体边缘”和“显示缩略图”等少数几项。
4.3 管理启动项和服务
过多的开机自启动程序会拖慢系统启动速度,并占用后台资源。按Ctrl + Shift + Esc打开任务管理器,切换到“启动”选项卡。把那些你不需要一开机就运行的程序(比如一些聊天软件、云盘客户端等)的“状态”设置为“禁用”。
对于服务,可以按Win + R,输入services.msc打开服务管理器。但这里需要谨慎操作,不建议新手随意禁用不认识的系统服务。一个更安全的方法是使用一些专业的系统优化工具(如微软官方的Autoruns)来查看和管理。
5. 安装与配置开发工具
工欲善其事,必先利其器。选对开发工具能极大提升效率。
5.1 代码编辑器/IDE
- Visual Studio Code (VSCode):这是目前最受开发者欢迎的免费编辑器,对Python和WSL的支持堪称完美。去官网下载安装后,务必安装以下几个扩展:
Python(Microsoft出品):提供代码补全、调试、linting等核心功能。Remote - WSL(Microsoft出品):让你能在VSCode里直接打开WSL中的文件夹进行开发,体验无缝衔接。Jupyter(Microsoft出品):如果你喜欢用Notebook做实验,这个扩展必不可少。
- PyCharm:如果你进行的是大型、复杂的项目开发,JetBrains的PyCharm Professional版(学生可以申请免费许可)提供了更强大的项目管理和重构工具。它也支持连接到WSL或远程解释器。
5.2 终端工具
Windows自带的终端(Windows Terminal)现在已经非常好用了。从微软商店安装它,并将其设置为默认终端。你可以在一个窗口里同时打开PowerShell、CMD和WSL Ubuntu等多个标签页,非常方便。
在WSL的Ubuntu终端里,我建议安装zsh和oh-my-zsh来美化并增强终端功能,但这属于可选的高级优化步骤。
5.3 版本控制:Git
深度学习项目离不开代码版本管理。在WSL的Ubuntu中,打开终端,运行:
sudo apt update sudo apt install git -y git config --global user.name "你的名字" git config --global user.email "你的邮箱"这样,你就可以在WSL环境中使用Git来克隆项目、管理代码了。
6. 为GPU训练做准备(NVIDIA用户)
如果你的电脑有NVIDIA独立显卡,并且你想用它来加速深度学习训练,那么还需要一些额外的步骤。这部分稍微复杂一点,但一步一步来没问题。
6.1 在Windows中安装NVIDIA驱动
这一步我们在第2.3节已经做过了。确保你安装的是最新版的NVIDIA驱动。安装后,可以在CMD或PowerShell里输入nvidia-smi来验证驱动是否正常安装。这个命令会显示你的显卡型号、驱动版本以及GPU的使用情况。
6.2 在WSL2中安装NVIDIA CUDA工具包
WSL2的一个巨大优势是,它可以直接调用安装在Windows主机上的NVIDIA显卡驱动。所以,我们不需要在WSL里再装一遍显卡驱动,只需要安装CUDA工具包。
在WSL的Ubuntu终端中,执行以下命令来安装CUDA:
# 首先,更新包列表并安装一些基础工具 sudo apt update sudo apt install build-essential -y # 添加NVIDIA CUDA仓库的GPG密钥和仓库源 # 注意:以下命令适用于Ubuntu 22.04和CUDA 12.x,其他版本请参考NVIDIA官方文档 wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update # 安装CUDA工具包(这个版本是适用于WSL2的) sudo apt install cuda-toolkit-12-5 -y安装完成后,将CUDA添加到环境变量中。编辑你的~/.bashrc文件:
nano ~/.bashrc在文件末尾添加:
export PATH=/usr/local/cuda-12.5/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-12.5/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}然后按Ctrl+X,再按Y和回车保存退出。最后让配置生效:
source ~/.bashrc现在,在WSL终端里输入nvcc --version,如果能看到CUDA编译器的版本信息,说明安装成功。
6.3 验证GPU在WSL中是否可用
让我们写一个简单的Python脚本来测试。首先在WSL中安装Python和PyTorch:
# 安装Python3和pip sudo apt install python3 python3-pip -y # 使用pip安装PyTorch(这里安装支持CUDA 12.1的版本,请根据你的CUDA版本调整) pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121然后创建一个测试文件test_gpu.py:
import torch print(f"PyTorch版本: {torch.__version__}") print(f"CUDA是否可用: {torch.cuda.is_available()}") if torch.cuda.is_available(): print(f"CUDA版本: {torch.version.cuda}") print(f"显卡名称: {torch.cuda.get_device_name(0)}") # 做一个简单的张量运算,看是否在GPU上执行 x = torch.tensor([1.0, 2.0, 3.0]).cuda() print(f"张量所在设备: {x.device}") print("测试成功!GPU可以在WSL2中正常工作。") else: print("未检测到可用GPU。请检查驱动和CUDA安装。")在WSL终端运行python3 test_gpu.py。如果一切顺利,你会看到你的显卡型号被正确识别,并确认CUDA可用。看到“测试成功”的那一刻,恭喜你,最复杂的一关已经过了!
7. 磁盘与存储优化
深度学习数据集和模型动不动就是几个GB甚至更大,好的存储习惯很重要。
- 专用工作区:建议在Windows的某个NTFS分区(比如D盘)创建一个专门用于深度学习的文件夹,例如
D:\DL_Projects。因为WSL2可以无缝访问Windows文件系统(路径在/mnt/d/下),你可以把大型数据集放在这里,同时在WSL中访问,避免占用WSL虚拟磁盘的空间。 - WSL磁盘位置:WSL的虚拟磁盘默认在C盘,如果C盘空间紧张,可以考虑将其导出再导入到其他盘。具体操作可以通过
wsl --export和wsl --import命令实现,网上有详细教程。 - 临时文件清理:定期使用Windows自带的“磁盘清理”工具,清理系统临时文件、更新缓存等,释放空间。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。