动手学深度学习-环境配置-在WSL2中通过Miniconda一站式部署PyTorch GPU开发环境
1. WSL2与Ubuntu系统安装在Windows系统上搭建深度学习环境WSL2是目前最友好的解决方案之一。它允许你在Windows系统中运行完整的Linux内核性能接近原生Linux特别适合需要CUDA支持的深度学习工作负载。以下是具体操作步骤首先需要确保你的Windows版本符合要求。WSL2需要Windows 10版本2004或更高版本内部版本19041或更高或者Windows 11。按下WinR键输入winver可以查看当前系统版本。1.1 启用WSL功能以管理员身份打开PowerShell右键开始菜单选择Windows终端(管理员)执行以下命令dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart完成后重启电脑。重启后再次打开PowerShell设置WSL2为默认版本wsl --set-default-version 21.2 安装Ubuntu发行版打开Microsoft Store应用商店搜索Ubuntu选择最新的LTS版本目前是Ubuntu 22.04 LTS点击安装。安装完成后在开始菜单中找到Ubuntu并启动系统会提示你设置用户名和密码。这里有个实用技巧建议用户名全部使用小写字母且不要包含特殊字符因为后续某些Linux工具对特殊字符支持不完善。密码可以简单设置因为在WSL环境中安全性要求不高。1.3 更新系统组件首次进入Ubuntu后建议立即更新系统软件包。执行以下命令sudo apt update sudo apt upgrade -y这个命令会更新软件包列表并升级所有可升级的软件包。过程中可能会提示你输入密码输入时不会显示字符这是Linux的正常行为。如果遇到Unable to locate package错误可能是软件源的问题可以尝试更换国内镜像源。备份原有源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后用nano编辑器修改源列表sudo nano /etc/apt/sources.list将文件内容替换为阿里云镜像源适用于Ubuntu 22.04deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse按CtrlO保存CtrlX退出然后再次运行更新命令。2. Miniconda安装与配置Miniconda是Anaconda的轻量级版本只包含conda、Python和它们依赖的包非常适合作为环境管理工具。相比完整版Anaconda它更节省空间且启动更快。2.1 下载并安装Miniconda在Ubuntu终端中执行以下命令下载最新版Minicondawget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh下载完成后运行安装脚本bash Miniconda3-latest-Linux-x86_64.sh安装过程中会出现许可协议按回车键浏览输入yes同意协议。当询问是否将conda加入PATH时建议选择yes这样可以在任何目录使用conda命令。安装完成后关闭并重新打开终端你会看到命令行前面出现了(base)字样表示conda的基础环境已激活。如果不想每次启动都自动激活base环境可以执行conda config --set auto_activate_base false2.2 配置conda镜像源为了加快包下载速度建议配置国内镜像源。执行以下命令添加清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set show_channel_urls yes3. 创建PyTorch虚拟环境使用conda创建独立的环境可以避免包版本冲突是Python开发的最佳实践。3.1 新建深度学习专用环境执行以下命令创建一个名为d2l的Python 3.9环境conda create -n d2l python3.9创建完成后激活环境conda activate d2l你会看到命令行提示符从(base)变成了(d2l)表示已成功切换到新环境。3.2 安装PyTorch GPU版本PyTorch官方提供了conda一键安装命令。访问PyTorch官网(https://pytorch.org)获取最新的安装命令。以CUDA 11.7为例conda install pytorch torchvision torchaudio pytorch-cuda11.7 -c pytorch -c nvidia这个命令会安装PyTorch及其常用扩展库并自动处理CUDA依赖关系。安装完成后验证GPU是否可用。在Python交互环境中执行import torch print(torch.cuda.is_available()) # 应该输出True print(torch.cuda.get_device_name(0)) # 显示你的GPU型号如果第一行输出False说明GPU支持未正确安装。常见原因包括Windows主机未安装NVIDIA驱动WSL2未正确识别GPUPyTorch版本与CUDA版本不匹配4. CUDA与cuDNN配置虽然conda已经自动安装了CUDA运行时但为了完整性和某些特殊需求你可能需要手动安装完整版CUDA Toolkit。4.1 安装CUDA Toolkit首先添加NVIDIA软件仓库的GPG密钥wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.0-1_all.deb sudo dpkg -i cuda-keyring_1.0-1_all.deb然后更新软件包列表并安装CUDAsudo apt update sudo apt install -y cuda安装完成后将CUDA加入环境变量。编辑~/.bashrc文件nano ~/.bashrc在文件末尾添加export PATH/usr/local/cuda-11.7/bin${PATH::${PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}}保存后执行以下命令使更改生效source ~/.bashrc验证安装nvcc --version应该显示CUDA编译器的版本信息。4.2 安装cuDNNcuDNN是NVIDIA提供的深度神经网络加速库。首先从NVIDIA官网下载对应版本的cuDNN需要注册账号然后执行tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-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 25. 开发工具与实用技巧5.1 使用VS Code远程开发VS Code的Remote-WSL扩展可以让你在Windows上获得完美的Linux开发体验在Windows上安装VS Code安装Remote - WSL扩展点击左下角绿色图标连接WSL在WSL中打开项目文件夹5.2 Jupyter Notebook配置在conda环境中安装Jupyterconda install jupyter生成配置文件jupyter notebook --generate-config设置访问密码jupyter notebook password启动Notebookjupyter notebook --ip0.0.0.0 --no-browser在Windows浏览器中打开显示的URL即可使用。5.3 性能优化建议将项目文件放在WSL文件系统中如/home/username而不是Windows文件系统如/mnt/c增加WSL内存限制在用户目录创建.wslconfig文件内容为[wsl2] memory8GB processors4定期清理conda缓存conda clean --all这套环境配置方案经过多个实际项目验证能够稳定支持各种深度学习实验。遇到问题时建议先检查各组件版本兼容性这是大多数环境问题的根源。保持conda环境隔离的习惯可以为不同项目创建独立环境避免包冲突。

相关新闻

C++并发编程:五种锁机制原理与实战性能优化指南

C++并发编程:五种锁机制原理与实战性能优化指南

1. 项目概述:为什么我们需要深入理解C中的锁?如果你写过C多线程程序,大概率遇到过数据竞争、死锁或者性能瓶颈这些让人头疼的问题。我刚开始接触多线程时,总觉得加个std::mutex把代码包起来就万事大吉了,结果要么是程序…

2026/7/14 5:14:00阅读更多 →
AWS IAM 二次验证怎么配置?根账号与子账号的 MFA 绑定教程

AWS IAM 二次验证怎么配置?根账号与子账号的 MFA 绑定教程

#AWS 是全球最大的云服务商,也是被攻击最频繁的目标之一。根账号一旦被盗,攻击者可以删除所有 EC2 实例、清空 S3 存储桶、用你的账号开 GPU 实例挖矿——几分钟内产生天价账单。AWS 的安全最佳实践第一条几乎永远是这句话:给根账号开 MFA&am…

2026/7/14 5:14:00阅读更多 →
CIC滤波器C++实现:从原理到工程实践,附完整源码

CIC滤波器C++实现:从原理到工程实践,附完整源码

1. 项目概述:从需求到实现的CIC滤波器最近在几个信号处理的项目里,我又一次用到了CIC滤波器。这东西在数字下变频、采样率转换这些场景里,出场率实在是太高了。网上相关的理论资料不少,但当你真正坐下来,打开编辑器&am…

2026/7/14 5:14:00阅读更多 →
终极模组管理解决方案:RimSort让你的《环世界》体验焕然一新

终极模组管理解决方案:RimSort让你的《环世界》体验焕然一新

终极模组管理解决方案:RimSort让你的《环世界》体验焕然一新 【免费下载链接】RimSort RimSort is an open source mod manager for the video game RimWorld. There is support for Linux, Mac, and Windows, built from the ground up to be a reliable, communit…

2026/7/14 10:39:45阅读更多 →
MPI并行计算入门:从环境搭建到实战案例的C++高性能编程指南

MPI并行计算入门:从环境搭建到实战案例的C++高性能编程指南

1. 项目概述:为什么我们需要MPI?如果你正在用C处理一些计算量巨大的任务,比如流体模拟、分子动力学或者大规模数据分析,单核CPU那点可怜的计算力很快就会让你感到绝望。这时候,并行计算就成了唯一的出路。而在众多并行…

2026/7/14 10:39:45阅读更多 →
TranslucentTB终极指南:如何免费让你的Windows任务栏变得透明美观

TranslucentTB终极指南:如何免费让你的Windows任务栏变得透明美观

TranslucentTB终极指南:如何免费让你的Windows任务栏变得透明美观 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你是否厌倦…

2026/7/14 10:39:45阅读更多 →
Java SpringBoot+Vue3+MyBatis 社区老人健康信息管理系统系统源码|前后端分离+MySQL数据库

Java SpringBoot+Vue3+MyBatis 社区老人健康信息管理系统系统源码|前后端分离+MySQL数据库

💡实话实说:用最专业的技术、最实惠的价格、最真诚的态度服务大家。无论最终合作与否,咱们都是朋友,能帮的地方我绝不含糊。买卖不成仁义在,这就是我的做人原则。博主介绍:🎓 江南大学计算机科学…

2026/7/14 10:39:45阅读更多 →
Claude Code插件新玩法:米西克先生语音提示,让交互体验更有趣!

Claude Code插件新玩法:米西克先生语音提示,让交互体验更有趣!

导航菜单 切换导航[ ](/)[ 登录 ](/login?return_tohttps%3A%2F%2Fgithub.com%2Fthephw%2Fclaude-meseeks)外观设置 平台 - AI 代码创作 - GitHub Copilot:借助 AI 编写更优秀的代码 - GitHub Copilot 应用:从问题到合并的直接代理 - MCP 注册表&am…

2026/7/14 10:39:45阅读更多 →
探索iOS系统深度定制:解锁苹果设备隐藏潜能的全方位指南

探索iOS系统深度定制:解锁苹果设备隐藏潜能的全方位指南

探索iOS系统深度定制:解锁苹果设备隐藏潜能的全方位指南 【免费下载链接】Jailbreak iOS 26.4 - 26, 17 - 17.7.5 & iOS 18 - 18.7.3 Jailbreak Tools, Cydia/Sileo/Zebra Tweaks & Jailbreak News Updates || AI Jailbreak Finder 👇 项目地址…

2026/7/14 10:34:44阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/14 4:56:14阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/14 2:55:05阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/14 6:17:41阅读更多 →
【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

更多请点击: https://intelliparadigm.com 第一章:Cursor数据库安全红线概览 Cursor 作为一款基于 AI 的智能编程助手,其本地数据库(SQLite 存储)承载着用户代码片段、会话历史、自定义规则及敏感上下文信息。理解其安…

2026/7/14 0:03:18阅读更多 →
【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

更多请点击: https://codechina.net 第一章:Notion AI写作辅助的底层能力边界认知 Notion AI 并非通用大语言模型的直接封装,而是基于 Llama 系列与自研微调模型构建的轻量化推理服务,其输入上下文窗口严格限制在 8192 token&…

2026/7/14 0:03:18阅读更多 →
AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

更多请点击: https://kaifayun.com 第一章:AI Agent数据越界行为的合规性挑战与溯源必要性 AI Agent在自主执行任务过程中,可能因提示注入、上下文污染或权限配置缺陷,无意或有意访问、缓存、传输受保护数据(如PII、G…

2026/7/14 0:03:18阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/13 4:21:17阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/14 4:45:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/14 2:42:17阅读更多 →