当前位置: 首页 > article >正文

别再折腾双系统了!Win11下用WSL2+Ubuntu 20.04一步搞定CUDA和PyTorch环境

别再折腾双系统了Win11下用WSL2Ubuntu 20.04一步搞定CUDA和PyTorch环境还在为AI开发环境反复重装系统每次切换操作系统都要重启电脑虚拟机卡顿到怀疑人生现在Windows 11用户有了更优雅的解决方案——WSL2配合Ubuntu 20.04不仅能完美支持CUDA加速还能直接运行PyTorch等主流AI框架。这个方案不仅保留了Windows的易用性还获得了接近原生Linux的性能表现。1. 为什么选择WSL2替代双系统传统AI开发环境搭建通常面临三个选择双系统、纯Linux系统或虚拟机。双系统需要频繁重启纯Linux系统可能影响日常办公虚拟机则存在性能损耗。WSL2的出现彻底改变了这一局面。性能对比实测数据环境类型启动时间磁盘IO速度GPU利用率内存占用原生Ubuntu15s550MB/s98%1.2GBWSL2 Ubuntu8s500MB/s95%1.5GBVMware虚拟机45s120MB/s75%2.8GB双系统切换90s480MB/s99%1.1GBWSL2的关键优势在于直接硬件访问通过完整的Linux内核实现支持GPU直通无缝文件互通Windows和Linux文件系统可互相访问零重启切换在终端中即可进入完整Linux环境资源动态分配内存和CPU资源随需求自动调整注意WSL2要求Windows 11 21H2及以上版本且需要开启虚拟化功能。建议配备至少16GB内存以获得最佳体验。2. 环境准备与基础配置2.1 系统要求检查首先确认你的设备满足以下条件Windows 11版本号≥21H2设置→系统→关于中查看支持CUDA的NVIDIA显卡RTX 20/30/40系列最佳已安装最新版NVIDIA驱动建议版本≥515检查虚拟化是否开启systeminfo | find Hyper-V Requirements输出中应看到已启用字样。如未开启需要重启进入BIOS启用Intel VT-x/AMD-V以管理员身份运行dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart2.2 WSL2与Ubuntu 20.04安装推荐使用PowerShell进行安装wsl --install -d Ubuntu-20.04 wsl --set-default-version 2安装完成后首次启动会提示创建UNIX用户。建议用户名使用英文小写密码长度≥8位后续sudo操作需要国内用户必做优化更换APT源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 update sudo apt upgrade -y sudo apt install -y build-essential cmake3. CUDA工具链配置3.1 安装NVIDIA CUDA驱动Windows端需要先安装特定驱动访问NVIDIA开发者网站下载WSL2专用驱动运行安装程序选择自定义安装确保勾选WSL驱动支持组件验证驱动状态nvidia-smi应显示类似输出----------------------------------------------------------------------------- | NVIDIA-SMI 515.48.07 Driver Version: 516.94 CUDA Version: 11.7 | |---------------------------------------------------------------------------3.2 Linux端CUDA工具包安装Ubuntu 20.04推荐使用CUDA 11.7wget 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-600 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配置环境变量echo export PATH/usr/local/cuda/bin:$PATH ~/.bashrc echo export LD_LIBRARY_PATH/usr/local/cuda/lib64:$LD_LIBRARY_PATH ~/.bashrc source ~/.bashrc验证安装nvcc --version应显示CUDA版本信息。4. Python环境与PyTorch安装4.1 Conda环境配置推荐使用Miniconda管理Python环境wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3 echo export PATH$HOME/miniconda3/bin:$PATH ~/.bashrc source ~/.bashrc配置国内镜像加速conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set show_channel_urls yes pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple4.2 PyTorch环境搭建创建专用环境conda create -n pytorch python3.9 -y conda activate pytorch安装PyTorch with CUDA 11.7conda install pytorch torchvision torchaudio pytorch-cuda11.7 -c pytorch -c nvidia验证GPU可用性import 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)})5. 高级优化与问题排查5.1 性能调优技巧内存分配优化sudo sysctl -w vm.drop_caches3磁盘IO加速wsl --shutdown notepad $env:USERPROFILE/.wslconfig添加内容[wsl2] memory12GB processors6 localhostForwardingtrue5.2 常见问题解决方案CUDA不可用检查NVIDIA驱动版本匹配确认WSL2中已加载NVIDIA模块lsmod | grep nvidia验证CUDA路径which nvccconda环境无法激活source ~/miniconda3/etc/profile.d/conda.sh conda init bash exec $SHELL图形界面支持 安装X11转发支持sudo apt install -y x11-apps mesa-utils export DISPLAY$(awk /nameserver / {print $2} /etc/resolv.conf):0实际项目中这套环境已经稳定运行了TensorFlow、PyTorch Lightning等复杂框架模型训练效率达到物理机95%以上。特别是在调试阶段可以直接用VS Code的WSL远程扩展开发享受Windows生态的同时拥有Linux的计算能力。

相关文章:

别再折腾双系统了!Win11下用WSL2+Ubuntu 20.04一步搞定CUDA和PyTorch环境

别再折腾双系统了!Win11下用WSL2Ubuntu 20.04一步搞定CUDA和PyTorch环境 还在为AI开发环境反复重装系统?每次切换操作系统都要重启电脑?虚拟机卡顿到怀疑人生?现在,Windows 11用户有了更优雅的解决方案——WSL2配合Ub…...

别再只用句柄了!手把手教你用.NET UIAutomationClient.dll探测微信控件(附避坑指南)

突破传统句柄限制:深入解析.NET UIAutomation框架在微信控件探测中的实战应用 当开发者尝试与微信这类现代应用程序交互时,传统的User32.dll句柄操作往往显得力不从心。那些曾经可靠的FindWindow和WindowFromPoint函数在面对Windows.UI.Core等新型UI框架…...

5分钟快速上手:DLSS Swapper终极指南 - 免费提升游戏画质与性能的简单方法

5分钟快速上手:DLSS Swapper终极指南 - 免费提升游戏画质与性能的简单方法 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款专为游戏玩家设计的免费工具,能够让你轻松管理、下…...

当DevOps遇上‘雷曼时刻’:从一次金融系统崩溃看现代软件架构的容错与熔断设计

从雷曼兄弟到微服务架构:构建抗崩溃系统的工程启示录 2008年9月15日,华尔街158年历史的金融巨擘雷曼兄弟轰然倒塌,6100亿美元债务引发的连锁反应让全球金融体系陷入瘫痪。这场灾难与当代分布式系统崩溃有着惊人的相似性——当某个核心服务不可…...

圣女司幼幽-造相Z-Turbo快速部署:5分钟搭建专属牧神记AI画室

圣女司幼幽-造相Z-Turbo快速部署:5分钟搭建专属牧神记AI画室 1. 引言:打造专属角色AI画师 你是否想过拥有一个专门绘制《牧神记》中圣女司幼幽的AI画师?现在通过"圣女司幼幽-造相Z-Turbo"镜像,只需5分钟就能搭建专属的…...

抖音批量下载终极指南:从零开始掌握高效视频保存技巧

抖音批量下载终极指南:从零开始掌握高效视频保存技巧 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...

LeRobot机器人学习框架深度解析:从多模态感知到实时控制的端到端架构揭秘

LeRobot机器人学习框架深度解析:从多模态感知到实时控制的端到端架构揭秘 【免费下载链接】lerobot 🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot L…...

real-anime-z开源模型部署案例:GPU算力优化的动漫风图片生成方案

real-anime-z开源模型部署案例:GPU算力优化的动漫风图片生成方案 1. 模型简介 real-anime-z是基于Z-Image框架开发的LoRA风格适配模型,专注于生成高质量的真实动漫风格图片。这个开源项目通过微调技术,在保持基础模型强大生成能力的同时&am…...

从vSomeIP迁移到CommonAPI:一个真实车载服务改造的踩坑与性能对比

车载通信框架迁移实战:vSomeIP到CommonAPI的完整指南 在智能汽车软件架构中,通信中间件的选择直接影响着系统的可靠性、性能和维护成本。随着车载功能从简单的ECU控制发展到复杂的分布式服务网络,开发者们面临着如何在保持功能稳定的同时实现…...

MarkDown时序图进阶:巧用并行、条件与循环构建复杂交互逻辑

1. Markdown时序图的核心价值与应用场景 第一次接触Markdown时序图时,我被它的简洁性惊艳到了。相比传统UML工具繁琐的拖拽操作,用几行文本就能描述复杂的系统交互,这简直就是程序员的福音。在实际项目中,我经常用它来梳理微服务间…...

揭秘低查重AI写教材,专业工具一键生成30万字优质教材书稿!

编写教材难题与 AI 工具解决方案 编写教材时,格式问题总是令许多作者头疼。比如,标题的字体大小该选几号?文献引用到底是按照 GB/T7714 还是特定出版标准来做?习题要用单栏还是双栏布局?面对如此多样的要求&#xff0…...

告别虚拟机!用WSL2 + VSCode在Windows上打造丝滑的C++开发环境(保姆级配置)

告别虚拟机!用WSL2 VSCode在Windows上打造丝滑的C开发环境 还在忍受虚拟机卡顿、资源占用高的折磨?Windows开发者终于迎来了终极解决方案——WSL2与VSCode的黄金组合。这不仅是技术栈的升级,更是开发体验的革命。想象一下:在Wind…...

Spring AOP 从原理到实战(结合事务彻底搞懂)

一、前言在后端开发中,我们经常会遇到这种需求:打日志统计接口耗时权限校验事务控制如果全部写在业务代码里,会变成:public void register() {log.info("开始执行");long start System.currentTimeMillis();try {// 业…...

imFile下载管理器:如何实现高效的多协议下载管理?

imFile下载管理器:如何实现高效的多协议下载管理? 【免费下载链接】imfile-desktop A full-featured download manager. 项目地址: https://gitcode.com/gh_mirrors/im/imfile-desktop 在数字时代,文件下载已成为我们日常工作和学习中…...

Windows 11 LTSC 24H2一键恢复微软商店:完整实用指南

Windows 11 LTSC 24H2一键恢复微软商店:完整实用指南 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore 你是否正在使用Windows 11 LTSC 24H2…...

江科大STM32实战笔记精讲『上篇』

1. STM32入门实战基础 STM32作为嵌入式开发领域的明星产品,其强大的性能和丰富的外设资源使其成为工程师的首选。对于初学者来说,掌握STM32的核心外设配置是迈向嵌入式开发的第一步。本部分将重点介绍STM32最小系统搭建和开发环境配置。 要构建一个完整的…...

Phi-4-mini-flash-reasoning参数详解:Temperature 0.3 vs 0.6在解释深度上的差异

Phi-4-mini-flash-reasoning参数详解:Temperature 0.3 vs 0.6在解释深度上的差异 1. 模型概述 Phi-4-mini-flash-reasoning 是一款专注于复杂推理任务的轻量级文本生成模型。与通用大模型不同,它特别擅长处理需要多步推理和结构化分析的场景&#xff1…...

日志调试效率提升300%的秘密,深度集成Console、Output、Terminal与自定义Log Stream的全链路方案

更多请点击: https://intelliparadigm.com 第一章:日志调试效率提升300%的秘密,深度集成Console、Output、Terminal与自定义Log Stream的全链路方案 现代开发中,日志不再只是“打印信息”的附属品,而是贯穿诊断、监控…...

保姆级教程:手把手教你将屏厂初始化代码转换为RK3588 DTS配置(附避坑指南)

RK3588 MIPI屏幕初始化代码转换实战:从厂商原始代码到DTS配置的完整指南 每次拿到新屏幕的初始化代码时,那种面对密密麻麻十六进制数的茫然感我都记忆犹新。特别是当屏幕厂商提供的代码格式与RK3588平台要求的DTS配置格式不一致时,转换过程简…...

工业智能化趋势与CAD图检系统价值解析

一、工业智能化核心发展趋势 在新型工业化推进过程中,工业智能化已从单点技术应用迈向系统级融合赋能阶段,呈现出自主化、数智化、生态化三大核心演进方向。 (一)技术演进:从自动化智能迈向自主化智能 制造业智能化…...

从分辨力到稳定性:构建可靠测量系统的核心要素解析

1. 测量系统的基石:理解分辨力的本质 分辨力就像测量系统的"视力"——它决定了系统能否看清微小的变化。想象一下用普通尺子和游标卡尺测量同一根金属棒的长度差异:普通尺子可能只能识别1毫米的变化,而游标卡尺能捕捉0.02毫米的细微…...

3分钟专业解锁Mac NTFS读写:Free-NTFS-for-Mac深度实战指南

3分钟专业解锁Mac NTFS读写:Free-NTFS-for-Mac深度实战指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and manageme…...

从零到一:构建数字世界的逻辑基石

1. 数字电路:现代科技的隐形骨架 第一次拆开计算器时,我盯着里面密密麻麻的黑色小方块发呆——这些就是数字电路芯片。它们像乐高积木一样,用最简单的0和1搭建出了整个数字世界。数字电路的本质,是用晶体管开关的两种状态&#xf…...

别再死记硬背DAX函数了!用Power BI做销售分析,这5个核心函数组合才是关键

从业务场景反推DAX函数组合:Power BI销售分析的5个核心武器 当你面对销售总监临时丢过来的需求——"明天早会给我一个能实时反映各区域销售趋势的动态看板"时,是否还在手忙脚乱地翻找DAX函数手册?真正高效的Power BI使用者从不会孤…...

从“伏安曲线”到“稳定放大”:三极管静态工作点设置的3个常见误区与避坑指南

从“伏安曲线”到“稳定放大”:三极管静态工作点设置的3个常见误区与避坑指南 当你第一次在面包板上搭建共射放大电路时,是否遇到过这样的困惑:明明按照教科书上的电路图连接,通电后却要么输出波形严重失真,要么三极管…...

DLSS Swapper:重新定义游戏性能优化的开源哲学

DLSS Swapper:重新定义游戏性能优化的开源哲学 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 当游戏性能优化不再是专业玩家的专利,当普通用户也能轻松掌控DLSS版本切换的奥秘,DLSS…...

从零玩转智能氛围灯:基于ESPHome与WS2812B的个性化灯光方案

1. 为什么选择ESPHome与WS2812B打造智能氛围灯? 如果你厌倦了传统智能灯只能调节亮度和颜色的单调功能,想要实现音乐律动、电影同步或者根据时间自动切换的沉浸式灯光效果,那么ESPHome搭配WS2812B灯带绝对是你的不二之选。我最初接触这个组合…...

Qwen3.5-2B模型在Keil5嵌入式开发中的实战应用

Qwen3.5-2B模型在Keil5嵌入式开发中的实战应用 1. 嵌入式开发的智能助手时代 作为一名嵌入式开发工程师,你是否经常遇到这样的场景:深夜调试代码时卡在一个寄存器配置问题上,翻遍手册却找不到明确答案;或者面对一个新的外设驱动…...

告别双闪屏!Android 12/13 启动画面SplashScreen全适配指南(含AndroidX库避坑实录)

Android 12/13启动画面深度适配指南:从双闪屏到完美体验 每次打开应用时那个恼人的双闪屏现象,正在悄悄消耗用户的耐心。当系统默认启动画面与应用自定义启动页接连闪现,这种割裂的体验已经成为Android 12设备上的普遍痛点。本文将带您深入理…...

反深度学习运动观察:软件测试从业者的专业审视

浪潮下的回响在当今软件工程领域,深度学习(Deep Learning)以其强大的数据驱动能力和在某些任务上的卓越表现,正以前所未有的速度渗透到包括软件测试在内的各个环节。从自动化测试脚本生成、缺陷预测到用户界面(UI&…...