资讯动态

WSL2+CUDA11.0搭建PyTorch/TensorFlow GPU开发环境

发布时间:2026/10/15 3:06:03 来源:尧图企业网站定制
1. 项目概述为什么在WSL2里跑CUDA不是“花架子”而是真能省下一台工作站的钱最近有好几位做AI模型训练的同行朋友发来截图问“你这WSL2里nvidia-smi能出来torch.cuda.is_available()也返回True是不是骗人的”——我直接把终端录屏发过去一边是Windows上开着VS Code写PyTorch代码另一边WSL2里watch -n 1 nvidia-smi实时刷着GPU显存占用top里Python进程稳稳吃着4个CPU核心TensorBoard网页在Edge里开着实时曲线……他们沉默三秒后回“原来不是demo是真干活用的。”这就是本项目标题背后的真实场景Win10 WSL2 CUDA 11.0 Ubuntu TensorFlow/PyTorch不是实验室里的玩具配置而是大量算法工程师、学生党、小团队在没有独立Linux服务器、又不想放弃Windows生态比如Office、微信、专业设计软件前提下构建出的一套零额外硬件投入、开发调试无缝切换、模型训练可落地的本地AI开发环境。关键词里“WSL2”“CUDA11.0”“Ubuntu”“TensorFlow”“PyTorch”五个词每一个都踩在2020–2022年Windows端AI开发的痛点上——它解决的不是“能不能跑”而是“能不能稳定跑满GPU”“能不能复现论文环境”“能不能和同事共享Docker镜像”“能不能接上公司内网GitLab和私有PyPI源”。我实测过三台不同配置的Win10机器一台是某品牌游戏本RTX 3060 32GB内存一台是老款工作站Tesla P4 64GB内存还有一台是公司配的办公本MX350独显 16GB内存。结果很明确前两台完全胜任中等规模模型训练ResNet50微调、BERT-base finetune、YOLOv5s训练第三台虽不能训大模型但做数据预处理、模型推理、单元测试、CI脚本验证毫无压力。关键在于所有操作都在同一个Windows账户下完成不需要双系统重启不需要虚拟机资源争抢也不需要远程连服务器——你的Jupyter Notebook就在Windows文件资源管理器里双击打开代码改完CtrlS终端里python train.py回车GPU就动起来了。这个配置的价值不在于技术多炫酷而在于它把“AI开发环境搭建”这件事从一个需要专门运维支持、耗时半天起步的“项目”压缩成了一次性配置、后续零维护的“默认工作方式”。接下来我会带你一砖一瓦搭起来不跳步、不假设、不甩链接所有命令都带解释所有报错都有对应解法所有参数选择都告诉你为什么这么定——因为我自己就是从wsl --install敲错成wsl install被卡住半小时过来的。2. 整体架构设计与关键决策逻辑为什么选WSL2而不是VMware为什么锁死CUDA 11.02.1 架构分层从Windows内核到PyTorch张量运算每一层都得“对得上”这套环境本质是四层嵌套结构最外层Windows 10Build 19041这是基石。WSL2依赖Windows的Hyper-V轻量级虚拟化能力所以必须是Win10 2004及以上版本对应内核版本≥19041。低于这个版本哪怕强行升级WSL2内核也会在GPU直通环节失败。我见过太多人卡在这一步反复重装NVIDIA驱动最后发现只是系统版本太老——微软官方明确写了“WSL2 GPU support requires Windows 10 version 21H2 or later”但实际测试中200419041已可满足基础需求21H219044更稳。别信网上“只要装了WSL2就能用GPU”的模糊说法版本号必须手动核对winver命令弹窗里看清楚。第二层WSL2 Linux内核5.10.16.3-microsoft-standard-WSL2注意这不是你apt update装的Ubuntu内核而是微软预编译的专用内核。它通过wsl --update升级和Ubuntu系统内核完全解耦。这个内核里集成了gpu-manager模块负责把Windows侧的NVIDIA驱动API翻译成Linux侧的/dev/nvidia*设备节点。所以你永远不要在WSL2里apt install nvidia-driver-xxx——那是给物理机Ubuntu装的装了反而冲突。WSL2的GPU驱动只由Windows侧的NVIDIA驱动提供且必须是465.42或更高版本这是CUDA 11.0支持的最低驱动版本。我试过460.89nvidia-smi能显示但cudaMalloc会段错误换成471.11一切正常。驱动版本不是越高越好而是要和CUDA Toolkit版本严格匹配。第三层CUDA Toolkit 11.0.3非11.0.0标题里写的是CUDA11.0但实际安装必须用11.0.3这个补丁版本。原因很简单11.0.0发布于2020年7月当时WSL2刚GANVIDIA还没适配11.0.3发布于2020年10月首次正式声明支持WSL2。很多教程抄来抄去写“CUDA 11.0”结果读者装了11.0.0发现nvcc --version报错其实是版本号没写全。CUDA 11.0.3自带libcudnn88.0.4.30-1cuda11.0这个cuDNN版本和PyTorch 1.7.1二进制包完全兼容不用自己编译。如果你硬要上CUDA 11.2会发现PyTorch官方wheel只提供11.1和11.3支持中间断档反而更麻烦。最内层Ubuntu 20.04 LTS Python 3.8.10 PyTorch 1.7.1 TensorFlow 2.4.0为什么是Ubuntu 20.04因为它是WSL2官方默认镜像内核模块兼容性最好为什么是Python 3.8.10因为PyTorch 1.7.1官方wheel只打包了3.6–3.83.9要自己编译TensorFlow 2.4.0是最后一个原生支持CUDA 11.0的版本2.5开始要求11.2。这里有个隐藏陷阱pip install tensorflow默认装2.8它会静默降级CUDA到11.2然后和你的11.0冲突。必须指定pip install tensorflow2.4.0。同理PyTorch必须用pip install torch1.7.1cu110 torchvision0.8.2cu110 -f https://download.pytorch.org/whl/torch_stable.html那个cu110后缀不是装饰是ABI标识符漏了就会装CPU版。提示整个架构的核心约束是“版本链式锁定”。Windows版本 → WSL2内核 → NVIDIA驱动 → CUDA Toolkit → cuDNN → PyTorch/TensorFlow wheel。任意一环错位轻则功能缺失如torch.cuda.is_available()为False重则系统级崩溃如WSL2启动失败。这不是Linux桌面环境可以随便apt upgrade这是精密咬合的工业级链条。2.2 为什么坚决不用VMware/VirtualBox三个血泪教训有人问“VMware Workstation也能装Ubuntu跑CUDA为啥非折腾WSL2” 我用三台机器实测对比过结论很残酷资源开销VMware开一个Ubuntu 20.04即使关掉GUI仅后台运行就要吃掉1.2GB内存15% CPU常驻WSL2空载仅380MB内存0.3% CPU。这意味着你在Win10上同时开微信、Chrome10个标签页、VS Code3个项目、PyCharm1个Django、还有WSL2训练模型内存还能剩4GB换成VMware直接爆红。GPU直通延迟VMware的vGPU是模拟层CUDA kernel launch延迟平均比物理机高47msWSL2是NVIDIA官方认证的“Direct GPU Access”延迟仅比物理机高1.2ms。我跑过ResNet50单batch inferenceVMware耗时237msWSL2耗时112ms差距一倍。这对需要实时反馈的模型调试比如强化学习策略网络是致命的。文件系统互通性WSL2的/mnt/c/Users/xxx/是Windows NTFS的直接映射读写速度≈本地SSDVMware的Shared Folders是Samba协议大文件如10GB的ImageNet子集拷贝速度只有12MB/s而WSL2可达520MB/s。更关键的是PyTorch的DataLoader多进程模式在VMware共享目录下会因文件锁机制崩溃WSL2无此问题。注意这些不是理论值是我用time dd if/dev/zero of/mnt/c/test bs1G count5和python -m timeit -s import torch torch.cuda.FloatTensor(1000,1000).matmul(torch.cuda.FloatTensor(1000,1000))实测出来的。如果你的项目涉及大量小文件IO或低延迟推理WSL2是唯一可行方案。2.3 为什么放弃CUDA 11.2/11.4一个被忽略的ABI兼容性真相网上很多教程鼓吹“装最新CUDA”但在WSL2场景下这是危险操作。根本原因在于CUDA Runtime ABIApplication Binary Interface的向后兼容性是单向的且WSL2的ABI实现有滞后性。CUDA Toolkit的ABI规则是libcudart.so.11.0CUDA 11.0能加载libcudnn8.so.8.0.xcuDNN 8.0.xlibcudart.so.11.2CUDA 11.2能加载libcudnn8.so.8.2.x但不能加载8.0.xWSL2内核的GPU模块在2021年Q3才完整支持CUDA 11.2的ABI扩展指令如cudaGraphInstantiate此前版本调用会触发CUDA_ERROR_NOT_SUPPORTED我曾为复现一篇论文强行在WSL2里装CUDA 11.2 cuDNN 8.2 PyTorch 1.9.0结果import torch就Segmentation Fault。gdb跟进去发现是libtorch_cuda.so调用了一个WSL2内核尚未实现的CUDA Graph API。降级回CUDA 11.0.3后问题消失。这不是PyTorch的bug是WSL2平台本身的成熟度问题。所以我的经验是在WSL2上CUDA版本宁低勿高。11.0.3是经过大规模验证的“黄金版本”它平衡了新特性支持如FP16 Tensor Core加速和平台稳定性。后续版本升级务必等NVIDIA官网文档明确写出“WSL2 Support: Yes”并标注测试过的驱动版本号再动手。3. 核心细节解析与实操要点从驱动安装到环境变量每一步都是坑3.1 Windows侧准备驱动、WSL2、内核三者必须同步升级第一步不是开WSL而是确保Windows底层就绪。很多人跳过这步后面全盘皆输。① 升级NVIDIA驱动到471.11或465.42以上去NVIDIA官网下载页面不要点“自动检测”那玩意儿经常推旧版。手动选择你的显卡型号 → “GeForce Game Ready Driver” → 找到471.11版本发布日期2021年6月下载exe安装包。安装时勾选“执行清洁安装”这会清除所有旧驱动残留。安装完成后必须重启Windows否则WSL2无法识别GPU设备。验证是否成功WinR输入cmd执行nvidia-smi看到GPU列表和驱动版本号471.11即成功如果提示“NVIDIA-SMI has failed”说明驱动没装好或没重启重装② 启用WSL2并安装内核更新以管理员身份打开PowerShell右键开始菜单→Windows PowerShell管理员逐行执行# 启用WSL功能需重启 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # 重启电脑 shutdown /r /t 0重启后再次以管理员身份打开PowerShell# 下载并安装WSL2内核更新包微软官方链接2021年10月版 curl -Lo wsl_update_x64.msi https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi start wsl_update_x64.msi # 安装完成后设WSL2为默认版本 wsl --set-default-version 2注意wsl --set-default-version 2必须在安装完内核更新包后执行否则会报错“WSL2 requires an update to its kernel component”。这个错误信息很误导人其实缺的不是内核是内核更新包。③ 安装Ubuntu 20.04从Microsoft Store打开Microsoft Store → 搜索“Ubuntu 20.04 LTS” → 点击“获取”。安装完成后点击“启动”会初始化一个Linux用户用户名随意密码要记住。初始化完成后执行# 更新包索引国内用户先换源见下文 sudo apt update sudo apt upgrade -y # 验证WSL2版本 uname -r # 应输出类似 5.10.16.3-microsoft-standard-WSL2 # 验证GPU设备可见性 ls /dev/nvidia* # 应看到 /dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm如果ls /dev/nvidia*报错“No such file or directory”说明前面三步驱动、内核、重启有一步没到位必须回头检查。3.2 Ubuntu侧CUDA安装绕过apt用runfile精准控制WSL2里绝对不要用apt install cudaUbuntu官方源的CUDA包是为物理机编译的会试图安装nvidia-kernel-source这在WSL2里会导致内核模块冲突wsl --shutdown后无法再启动。正确做法是用NVIDIA官方runfile安装且只装Runtime和Toolkit不装Driver# 下载CUDA 11.0.3 runfile注意必须是.run格式不是.deb # 官网链接https://developer.nvidia.com/cuda-toolkit-archive 找11.0.3 # 或直接用wget国内服务器可能慢建议浏览器下载后用wsl --import导入 wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run # 赋予执行权限 chmod x cuda_11.0.3_450.51.06_linux.run # 运行安装程序关键参数 # --silent静默安装不弹UI # --override覆盖检查WSL2会被检测为不支持必须强制 # --no-opengl-libs不装OpenGL库WSL2无GUI装了白占空间 # --toolkit只装Toolkit不装DriverDriver已在Windows侧装好 sudo ./cuda_11.0.3_450.51.06_linux.run --silent --override --no-opengl-libs --toolkit # 验证安装 /usr/local/cuda-11.0/bin/nvcc --version # 应输出 release 11.0, V11.0.194实操心得runfile安装过程会输出一堆日志最后一行如果是Installation successful!才算成功。如果中途卡住或报错立刻CtrlC终止然后sudo /usr/local/cuda-11.0/bin/uninstall_cuda_11.0.pl卸载干净再重试。我第一次装时因磁盘空间不足失败卸载后清理了/tmp才成功。3.3 环境变量配置PATH、LD_LIBRARY_PATH、CUDA_HOME一个都不能少CUDA装完只是开始环境变量配错nvcc能用但torch认不出GPU。必须在~/.bashrc里精确设置# 编辑.bashrc nano ~/.bashrc # 在文件末尾添加以下四行注意路径和版本号 export CUDA_HOME/usr/local/cuda-11.0 export PATH$CUDA_HOME/bin:$PATH export LD_LIBRARY_PATH$CUDA_HOME/lib64:$LD_LIBRARY_PATH export CUDA_VISIBLE_DEVICES0 # 强制使用第一块GPU避免多卡识别混乱 # 生效配置 source ~/.bashrc验证是否生效echo $CUDA_HOME # 应输出 /usr/local/cuda-11.0 echo $PATH | grep cuda # 应包含 /usr/local/cuda-11.0/bin ldconfig -p | grep cuda # 应列出 libcudart.so.11.0 等库关键细节LD_LIBRARY_PATH必须包含$CUDA_HOME/lib64因为CUDA 11.0的动态库全在lib64目录下不是lib。很多教程写$CUDA_HOME/lib结果import torch时报libcurand.so.10: cannot open shared object file。另外CUDA_VISIBLE_DEVICES0不是可选的——WSL2目前不支持自动枚举多GPU不设这个变量PyTorch会认为没有可用GPU。3.4 cuDNN安装用deb包而非tarball避免符号链接灾难cuDNN必须用NVIDIA官网下载的.deb包安装不能用.tar解压。原因.deb包会自动创建正确的符号链接如libcudnn.so → libcudnn.so.8.0.4而.tar包需要手动建链接稍有不慎就会导致PyTorch找不到库。步骤# 下载cuDNN v8.0.4 for CUDA 11.0需注册NVIDIA开发者账号 # 文件名类似 cudnn-11.0-linux-x64-v8.0.4.30.tgz # 解压后得到deb包cudnn-local-repo-ubuntu2004-8.0.4.30_1.0-1_amd64.deb sudo dpkg -i cudnn-local-repo-ubuntu2004-8.0.4.30_1.0-1_amd64.deb sudo apt update sudo apt install libcudnn88.0.4.30-1cuda11.0 -y # 验证 cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2 # 应输出 #define CUDNN_MAJOR 8注意apt install时必须指定完整版本号libcudnn88.0.4.30-1cuda11.0否则apt会装最新版如8.2.x和CUDA 11.0不兼容。这个版本号必须和deb包名里的完全一致。4. 实操过程与核心环节实现从零开始完整走一遍训练流程4.1 Python环境搭建Miniconda优于系统Python隔离才是王道Ubuntu 20.04自带Python 3.8.5但直接用它装PyTorch会有风险系统包依赖可能被破坏且无法轻松切换Python版本。我推荐Miniconda轻量、隔离、可控。# 下载Miniconda3Linux x86_64 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3 $HOME/miniconda3/bin/conda init bash # 重启终端或执行 source ~/.bashrc conda --version # 应输出 4.10.x创建专用环境# 创建名为ai-env的环境指定Python 3.8.10PyTorch 1.7.1要求 conda create -n ai-env python3.8.10 conda activate ai-env # 升级pip到最新避免wheel安装失败 pip install --upgrade pip # 安装PyTorch 1.7.1 CUDA 11.0支持 pip install torch1.7.1cu110 torchvision0.8.2cu110 -f https://download.pytorch.org/whl/torch_stable.html # 安装TensorFlow 2.4.0注意必须用pipconda-forge的tf2.4不支持WSL2 pip install tensorflow2.4.0 # 验证GPU可用性 python -c import torch; print(torch.cuda.is_available()) # 应输出 True python -c import tensorflow as tf; print(tf.config.list_physical_devices(GPU)) # 应输出 [PhysicalDevice(name/physical_device:GPU:0, device_typeGPU)]实操心得-f https://download.pytorch.org/whl/torch_stable.html这个index-url参数绝不能省。不加的话pip会从PyPI主站下载而主站的torch-1.7.1-cp38-cp38-manylinux1_x86_64.whl是CPU版。那个cu110后缀是PyTorch wheel的ABI标识pip show torch能看到Name: torchVersion: 1.7.1cu110如果显示1.7.1没后缀说明装错了。4.2 数据与代码准备利用/mnt/c实现Windows-WSL2无缝协作这才是WSL2的最大优势——你不用在Linux里重新下载数据集。假设你的数据在Windows的D:\datasets\cifar10在WSL2里路径是/mnt/d/datasets/cifar10。# 创建项目目录在/mnt/c下方便Windows访问 mkdir -p /mnt/c/projects/pytorch-cifar10 cd /mnt/c/projects/pytorch-cifar10 # 写一个极简训练脚本train.py cat train.py EOF import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms # 检查GPU device torch.device(cuda:0 if torch.cuda.is_available() else cpu) print(fUsing device: {device}) # 加载CIFAR10自动下载到/mnt/c/projects/pytorch-cifar10/data transform transforms.Compose([transforms.ToTensor()]) trainset torchvision.datasets.CIFAR10(root./data, trainTrue, downloadTrue, transformtransform) trainloader torch.utils.data.DataLoader(trainset, batch_size128, shuffleTrue, num_workers2) # 构建简单CNN net nn.Sequential( nn.Conv2d(3, 32, 3), nn.ReLU(), nn.MaxPool2d(2), nn.Flatten(), nn.Linear(32*15*15, 10) ).to(device) criterion nn.CrossEntropyLoss() optimizer optim.SGD(net.parameters(), lr0.001) # 训练循环 for epoch in range(2): running_loss 0.0 for i, data in enumerate(trainloader, 0): inputs, labels data[0].to(device), data[1].to(device) optimizer.zero_grad() outputs net(inputs) loss criterion(outputs, labels) loss.backward() optimizer.step() running_loss loss.item() if i % 100 99: print(fEpoch {epoch1}, Batch {i1}: Loss {running_loss/100:.3f}) running_loss 0.0 print(Finished Training) EOF关键技巧root./data路径是相对路径数据会下载到当前目录下的./data而当前目录/mnt/c/projects/pytorch-cifar10在Windows里就是C:\projects\pytorch-cifar10你可以直接用Windows资源管理器打开查看文件。这样数据预处理脚本用Windows的Python写模型训练用WSL2的PyTorch跑完全无缝。4.3 启动训练并监控用nvidia-smi和htop看透资源消耗现在执行训练# 激活环境 conda activate ai-env # 启动训练后台运行方便开另一个终端监控 nohup python train.py train.log 21 # 查看GPU占用在另一个终端 watch -n 1 nvidia-smi你会看到nvidia-smi里python进程占着GPU显存约1.2GBVolatile GPU-Util稳定在85%左右。同时开第三个终端# 监控CPU和内存 htop可以看到python进程占满4个CPU核心DataLoader的num_workers2内存占用约3.2GB。这一切都发生在Windows后台你的Chrome、微信、VS Code照常运行。训练完成后查看日志tail -20 train.log # 应看到类似 # Epoch 1, Batch 100: Loss 1.234 # Epoch 1, Batch 200: Loss 0.987 # ... # Finished Training实测数据在RTX 3060上CIFAR10单epoch训练时间约4分30秒128 batch size比纯CPU快17倍。这个速度已经足够支撑日常模型迭代。5. 常见问题与排查技巧实录那些让我凌晨三点还在debug的坑5.1 经典问题速查表问题现象根本原因解决方案nvidia-smi在Windows里正常WSL2里报“NVIDIA-SMI has failed”Windows未重启或WSL2内核未更新执行wsl --shutdown重启Windows再wsl --updatetorch.cuda.is_available()返回FalseLD_LIBRARY_PATH未包含/usr/local/cuda-11.0/lib64或CUDA_VISIBLE_DEVICES未设检查echo $LD_LIBRARY_PATH确认含lib64执行export CUDA_VISIBLE_DEVICES0pip install tensorflow后tf.test.is_gpu_available()返回FalseTensorFlow 2.4.0 wheel依赖libcudnn88.0.4但apt装了8.2.xsudo apt install libcudnn88.0.4.30-1cuda11.0强制降级ImportError: libcurand.so.10: cannot open shared object fileLD_LIBRARY_PATH指向了/usr/local/cuda/lib错误路径应为/usr/local/cuda-11.0/lib64修改~/.bashrc确保export LD_LIBRARY_PATH/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATHWSL2启动后卡在“Starting...”不动Windows Hyper-V服务未启用或BIOS中Virtualization被禁用以管理员运行dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启后进BIOS开启VT-x/AMD-V5.2 一个隐藏极深的坑Windows防火墙导致WSL2网络异常有次我配置好一切nvidia-smi和torch.cuda都正常但pip install总是超时。ping pypi.org能通curl -I https://pypi.org却卡住。最后发现是Windows防火墙的“Core Networking”规则组里有一条“WSL2 Network Isolation”默认启用它会阻止WSL2访问外部HTTPS。解决方案WinR输入wf.msc打开高级安全防火墙左侧点“入站规则”右侧点“启用或禁用规则”找到“Core Networking Diagnostics (TCP-In)”和“Core Networking Diagnostics (UDP-In)”右键“禁用”重启WSL2wsl --shutdown再打开这个问题不会报错只会让网络请求无限等待非常难定位。如果你的环境其他都正常唯独pip/pip3无法联网优先检查这个。5.3 性能优化技巧让GPU利用率从70%提到95%默认配置下DataLoader的num_workers设太高会因WSL2的进程调度延迟导致GPU空闲。我测试过num_workers0GPU利用率65%CPU占用30%num_workers2GPU利用率88%CPU占用75%num_workers4GPU利用率反降至72%因进程竞争导致数据供给延迟最优解是num_workers2pin_memoryTruetrainloader torch.utils.data.DataLoader( trainset, batch_size128, shuffleTrue, num_workers2, pin_memoryTrue # 将tensor锁在GPU内存页加速传输 )另外PyTorch 1.7.1默认不启用CUDA Graph手动开启能再提5%利用率# 在训练循环前加 torch.backends.cudnn.benchmark True # 自动寻找最优卷积算法 torch.backends.cudnn.enabled True # 启用cuDNN5.4 备份与迁移如何把整个环境打包带走WSL2环境最怕重装系统。备份只需两步① 导出WSL2发行版为tar包含所有配置、环境、数据# 在PowerShell中执行非WSL2终端 wsl --export Ubuntu-20.04 C:\wsl-backup\ubuntu2004-backup.tar② 迁移后导入新机器上# 新机器上先安装WSL2内核更新包再导入 wsl --import Ubuntu-20.04 C:\wsl\ubuntu2004 C:\wsl-backup\ubuntu2004-backup.tar --version 2 # 设为默认 wsl --set-default Ubuntu-20.04导入后你的/mnt/c/projects、conda环境、CUDA配置全部原样恢复连conda activate ai-env都不用重新做。最后分享一个小技巧我在/mnt/c下建了个scripts文件夹里面放常用命令的bat脚本比如start-wsl-gpu.bat内容是echo off wsl -d Ubuntu-20.04 -u root -e bash -c source /home/youruser/.bashrc conda activate ai-env cd /mnt/c/projects exec bash双击这个bat就直接进入配置好的AI环境连终端都不用手动开。这才是生产力。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑