三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

PyTorch GPU环境配置全攻略:从驱动到CUDA一站式避坑指南

PyTorch GPU环境配置全攻略:从驱动到CUDA一站式避坑指南

1. 从零到一:为什么你的GPU版PyTorch总是装不对?

如果你刚拿到一块新显卡,或者准备开始你的深度学习项目,第一件让你头疼的事,大概率就是配置GPU环境。网上教程千千万,但“Cuda 和 GPU版torch安装最全攻略”这个标题背后,其实藏着几个新手和老手都容易踩的坑。你可能已经试过照着某个教程一步步来,结果在最后一步torch.cuda.is_available()返回了令人沮丧的False。这不仅仅是安装的问题,更是一个关于版本匹配、环境隔离和系统状态检查的综合工程。

我自己在给实验室十几台不同配置的机器部署环境时,几乎把能踩的坑都踩了一遍。从驱动版本不匹配,到Conda环境里Python、CUDA、PyTorch的“三角关系”理不清,再到Windows和Linux下截然不同的报错信息。今天这篇内容,我就想把这些散落在各个角落的经验,结合最新的版本情况,整理成一套可复现、可排查的完整流程。我们的目标不仅仅是“安装上”,而是“理解为什么这么装”,以及当它不工作时,你知道该从哪里下手解决。

这篇文章会覆盖Windows和Linux(主要是Ubuntu)两大平台,因为两者的安装逻辑和坑点完全不同。我们会从最底层的显卡驱动开始,一步步向上构建:驱动 -> CUDA Toolkit -> cuDNN -> PyTorch。最后,我会用一个实际的代码例子,带你在GPU上跑通第一个程序,并分享几个诊断GPU状态的实用技巧。无论你是用个人电脑的RTX显卡,还是用云服务器的Tesla/V100,这套思路都是通用的。

2. 环境基石:显卡驱动、CUDA与cuDNN的“铁三角”关系

在安装PyTorch之前,我们必须先理解支撑它的底层“铁三角”:显卡驱动、CUDA Toolkit和cuDNN。很多安装失败,根源就在于这三者的版本不兼容。

2.1 显卡驱动:硬件与操作系统的翻译官

显卡驱动是操作系统(Windows/Linux)和你的物理GPU(如NVIDIA GeForce RTX 4090, Tesla V100)通信的桥梁。没有正确的驱动,系统甚至无法正确识别你的显卡型号,更别提使用它的计算能力了。

如何检查与安装驱动?

  • Windows(通过NVIDIA控制面板)

    1. 在桌面右键,选择“NVIDIA 控制面板”(如果没有,说明驱动未安装或安装不正确)。
    2. 点击左下角“系统信息”。
    3. 在“显示”标签页,查看“驱动程序版本”。例如:551.86
  • Linux(通过命令行)

    # 查看GPU型号和驱动版本 nvidia-smi

    这条命令会输出一个表格,其中Driver Version就是你的驱动版本号。

驱动安装要点

  • Windows:建议直接从 NVIDIA官网 下载GeForce Game Ready Driver(游戏卡)或NVIDIA RTX Enterprise Driver(专业卡/服务器卡),运行exe安装包即可。安装时选择“自定义安装”并勾选“执行清洁安装”,可以避免旧驱动残留导致的问题。
  • Linux (Ubuntu):有几种方法,推荐使用官方仓库或使用apt安装nvidia-driver系列包。对于Ubuntu 22.04 LTS,可以这样操作:
    # 首先添加官方显卡驱动PPA仓库 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 查找推荐的驱动版本 ubuntu-drivers devices # 安装推荐版本(例如推荐是nvidia-driver-550) sudo apt install nvidia-driver-550 sudo reboot # 安装后必须重启

注意:驱动版本需要大于或等于你将要安装的CUDA Toolkit所要求的最低驱动版本。例如,CUDA 12.1要求驱动版本至少为530.30.02nvidia-smi命令顶端显示的CUDA Version,指的是该驱动最高支持的CUDA运行时版本,不是你系统已安装的CUDA Toolkit版本,这是一个常见的误解点。

2.2 CUDA Toolkit:GPU通用计算的“标准库”

CUDA(Compute Unified Device Architecture)是NVIDIA推出的并行计算平台和编程模型。我们安装的CUDA Toolkit,可以理解为一套开发工具包,里面包含了编译器(nvcc)、数学库、调试工具等。PyTorch在运行GPU计算时,需要调用CUDA Toolkit提供的运行时库(如cudart)。

关键认知:你的系统里可以存在多个不同版本的CUDA Toolkit(例如/usr/local/cuda-11.8/usr/local/cuda-12.1),它们可以共存。通过环境变量PATHLD_LIBRARY_PATH(Linux)或PATH(Windows)来指定当前使用哪一个。

如何安装CUDA Toolkit?

  • 不推荐直接安装完整庞大的CUDA Toolkit(尤其是Windows用户),除非你需要使用nvcc编译自己的CUDA C++代码。
  • 推荐通过PyTorch官方渠道(Conda或pip)安装PyTorch时,它会自动为你安装一个精简版的、与之匹配的CUDA运行时库。这足以满足99%的PyTorch使用场景,省去了手动管理CUDA版本的麻烦。这是目前最主流、最不容易出错的方式。

2.3 cuDNN:为深度学习定制的“加速库”

cuDNN(CUDA Deep Neural Network library)是NVIDIA专门为深度学习操作优化的GPU加速库。它提供了高度优化的前向传播和反向传播的实现,比如卷积、池化、归一化等层。PyTorch、TensorFlow等框架在底层都会调用cuDNN来获得极致的性能。

安装要点

  • cuDNN的版本必须与你的CUDA Toolkit版本严格匹配。
  • 和CUDA Toolkit一样,当你通过Conda安装PyTorch时,Conda通常会帮你自动解决cuDNN的依赖,一并安装好匹配的版本。这也是为什么强烈推荐使用Conda环境来管理深度学习环境的原因之一。
  • 只有在极少数需要自定义编译或特定版本的情况下,才需要手动从NVIDIA开发者网站下载cuDNN库,并复制到CUDA Toolkit的目录中。

总结一下三者的关系驱动是基础,它决定了你能用的最高CUDA版本。你通过Conda安装PyTorch时,PyTorch的版本决定了它需要哪个版本的CUDA运行时cuDNN。Conda这个包管理器,会帮你自动下载并安装匹配的CUDA和cuDNN库(以conda包的形式),并保证它们与你的PyTorch版本兼容。因此,我们的核心任务从“手动配齐铁三角”变成了“为PyTorch选择一个正确的Conda安装命令”。

3. 核心实战:使用Conda一站式配置PyTorch GPU环境

Conda(尤其是Miniconda或Anaconda)是Python数据科学和深度学习领域的“环境管理神器”。它可以为每个项目创建独立的虚拟环境,环境之间库的版本互不干扰。对于PyTorch安装来说,Conda的最大优势在于它能从特定的渠道(如pytorchnvidia)获取预编译好的、版本完全匹配的PyTorch、CUDA和cuDNN包。

3.1 第一步:安装Miniconda

如果你还没有Conda,先去 Miniconda官网 下载对应你操作系统和系统架构(通常是x86_64)的安装包。Miniconda只包含Conda和Python,比完整的Anaconda更轻量。

  • Windows:下载.exe安装包,安装时注意勾选“Add Miniconda3 to my PATH environment variable”,这样可以在任意终端使用conda命令。
  • Linux/macOS:下载.sh脚本,在终端运行bash Miniconda3-latest-Linux-x86_64.sh并按提示安装。

安装完成后,打开一个新的终端(Windows用Anaconda Prompt或系统终端,Linux/macOS用系统终端),运行conda --version验证安装。

3.2 第二步:创建并激活一个独立的虚拟环境

永远不要在base(基础)环境中直接安装项目依赖。为你的PyTorch项目创建一个专属环境是最佳实践。

# 创建一个名为 `pytorch_gpu` 的新环境,并指定Python版本(这里用3.10,一个兼容性较好的版本) conda create -n pytorch_gpu python=3.10 # 激活这个环境 # Windows: conda activate pytorch_gpu # Linux/macOS: # 如果你用的是bash/zsh,命令同上。如果首次激活失败,可能需要先运行 `conda init bash` 然后重启终端。

激活后,你的命令行提示符前面应该会显示环境名(pytorch_gpu)

3.3 第三步:前往PyTorch官网获取安装命令

这是最关键的一步,直接决定了安装的成败。不要随便复制过时的博客命令!

  1. 打开浏览器,访问 PyTorch官方网站 。
  2. 找到首页的 “Get Started” 部分,你会看到一个配置选择器。
  3. 根据你的情况选择:
    • PyTorch Build:选择Stable (稳定版)
    • Your OS:选择你的操作系统(Windows/Linux/Mac)。
    • Package强烈推荐选择Conda。它会从pytorch频道安装。
    • Language:选择Python
    • Compute Platform:这里选择与你GPU驱动兼容的CUDA版本。如果不确定,可以选CUDA 11.8CUDA 12.1(这两个是当前长期支持且兼容性广的版本)。如果你用的是较新的RTX 40系显卡,驱动较新,可以尝试CUDA 12.1
  4. 选择器下方会自动生成一条安装命令。例如,对于Linux系统、Conda包管理器、CUDA 12.1,命令可能长这样:
    conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
    命令解析
    • pytorch torchvision torchaudio:这是核心的PyTorch包及其常用的视觉、音频扩展库。
    • pytorch-cuda=12.1这是核心中的核心。它指定了要安装支持CUDA 12.1的PyTorch版本,并且Conda会自动解决并安装对应的CUDA和cuDNN运行时库(如cudatoolkit=12.1,cudnn)。
    • -c pytorch -c nvidia:指定从pytorchnvidia这两个Conda频道查找包。nvidia频道提供了官方维护的CUDA相关库。

3.4 第四步:执行安装命令并验证

在你的终端(确保已激活pytorch_gpu环境)中,粘贴并运行上一步生成的命令。Conda会解析依赖关系,列出将要安装、更新或降级的包列表,询问你是否继续,输入y回车。

安装过程可能需要一段时间,取决于你的网络速度。安装完成后,我们进行最关键的两步验证:

  1. 验证PyTorch能否找到CUDA: 在激活的Conda环境中,启动Python解释器。

    python >>> import torch >>> print(torch.__version__) # 打印PyTorch版本 >>> print(torch.cuda.is_available()) # 核心验证:输出应为 True

    如果torch.cuda.is_available()返回True,那么恭喜你,PyTorch已经成功识别到了可用的CUDA环境!

  2. 验证GPU设备信息

    >>> print(torch.cuda.device_count()) # 显示可用的GPU数量 >>> print(torch.cuda.get_device_name(0)) # 获取第一块GPU的名称 >>> print(torch.cuda.current_device()) # 当前正在使用的GPU索引

    这些命令能让你确认PyTorch具体识别到了哪块显卡。

为什么推荐Conda?因为它把最复杂的版本匹配问题(PyTorch vs. CUDA vs. cuDNN vs. Python)交给了包管理器去解决。只要你从PyTorch官网生成命令,并且驱动版本满足要求,成功率极高。相比之下,使用pip install torch ...虽然也可以,但需要你自己确保系统已安装正确版本的CUDA Toolkit,对新手更不友好。

4. 疑难杂症排查手册:当is_available()返回False时

即使按照上述步骤,有时torch.cuda.is_available()依然会返回False。别慌,这是深度学习工程师的“必修课”。请按照以下排查链路,像侦探一样一步步缩小问题范围。

4.1 检查链第一步:驱动与GPU状态

首先,在终端(Windows用CMD/PowerShell,Linux用bash)中,退出Python环境,直接运行:

nvidia-smi
  • 如果命令找不到:说明NVIDIA驱动没有正确安装,或者其安装路径没有添加到系统的PATH环境变量中。请返回第2.1节重新安装驱动。
  • 如果命令有输出,但显示“No running processes found”:这是正常状态,说明驱动已安装,GPU空闲。
  • 观察右上角的CUDA Version:例如显示“CUDA Version: 12.4”。这代表当前驱动支持的最高CUDA运行时版本是12.4。你通过Conda安装的cudatoolkit版本(如12.1)必须小于等于这个数字。

4.2 检查链第二步:环境与包版本冲突

确保你是在正确的Conda环境中进行测试。有时我们以为自己激活了环境A,但实际上还在base环境。

# 在终端中确认当前环境 conda info --envs # 当前激活的环境前面会有一个星号 `*` conda activate pytorch_gpu # 再次确认激活

然后,在激活的环境中,检查已安装的关键包版本:

conda list | grep -E "(pytorch|cudatoolkit|cudnn)"

你会看到类似这样的输出:

cudatoolkit 12.1.0 hd3c3e7c_12 nvidia cudnn 8.9.2.26 cuda12_0 nvidia pytorch 2.2.2 py3.10_cuda12.1_cudnn8.9.2_0 pytorch

这证明了Conda确实为你安装了匹配的CUDA 12.1工具包和cuDNN 8.9.2。如果这里没有cudatoolkitcudnn,那说明安装可能有问题,或者你用了pip安装的PyTorch(pip不会自动安装这些)。

4.3 检查链第三步:Python解释器与动态链接库(Linux重点)

这个问题在Linux上更常见。有时,即使Conda环境里包都对了,Python运行时却找不到CUDA的动态库(.so文件)。

在Python中运行以下诊断代码:

import torch print(torch.__file__) # 查看torch包的位置,确认来自当前环境 # 尝试直接加载CUDA运行时库,这是一个底层检查 import ctypes try: ctypes.CDLL('libcudart.so') # Linux # Windows 上是 ctypes.CDLL('cudart64_12.dll') 之类的 print("CUDA runtime library loaded successfully.") except OSError as e: print(f"Failed to load CUDA runtime: {e}")

如果加载失败,可能是环境变量问题。在Linux的Conda环境中,激活环境时Conda会自动设置LD_LIBRARY_PATH。你可以手动检查:

echo $LD_LIBRARY_PATH

这个路径应该包含你Conda环境下的lib目录,例如/home/username/miniconda3/envs/pytorch_gpu/lib。如果没有,可以尝试在激活环境后手动设置,但这通常意味着Conda环境激活脚本有问题。

4.4 检查链第四步:进程占用与显卡模式

  • GPU被其他进程占用:某些笔记本的Optimus技术(双显卡,NVIDIA独显+Intel核显)或者某些后台程序(如桌面录制、游戏加加)可能独占了GPU。尝试关闭所有可能使用GPU的程序。
  • Windows上的“GPU加速”设置:在Windows设置 -> 系统 -> 显示 -> 图形设置中,确保“硬件加速GPU计划”是打开的(对于现代Windows版本)。同时,可以为你的Python解释器(如python.exe)或IDE(如pycharm64.exe)设置“高性能”模式,强制其使用NVIDIA独显。
  • 服务器上的GPU计算模式:在Linux服务器上,管理员可能使用nvidia-smi-c参数设置了GPU的计算模式。运行nvidia-smi -q查看“Compute Mode”是否为“Default”。如果是“Exclusive Process”模式,同一时间只能有一个进程使用GPU,可能导致冲突。

4.5 一个经典错误案例:CUDA error: no kernel image is available for execution

如果你在较新的GPU(如安培架构的RTX 30/40系列,或者Hopper架构的H100)上运行较旧的PyTorch/CUDA版本,可能会遇到这个错误。这是因为旧版本的PyTorch编译时使用的CUDA架构代码(如sm_75for Turing)不支持新GPU的架构(如sm_86for Ampere)。

解决方案:安装支持你GPU架构的、更新版本的PyTorch和CUDA。例如,对于RTX 4090(sm_89),你需要CUDA 11.8及以上、且PyTorch版本较新的组合。最省心的办法就是去PyTorch官网,选择最新的稳定版和对应的CUDA版本(如12.1)进行安装。

5. 在GPU上运行你的第一个Torch代码:从张量操作到模型训练

环境配置成功,验证通过,接下来就是享受GPU加速快感的时候了。我们通过几个循序渐进的例子,来熟悉如何将计算放到GPU上。

5.1 基础:张量(Tensor)的GPU迁移

PyTorch中所有计算的核心数据结构是张量。默认情况下,张量创建在CPU上。

import torch import time # 1. 检查设备 device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') print(f'Using device: {device}') # 2. 创建CPU张量 cpu_tensor = torch.randn(10000, 10000) # 创建一个大的随机矩阵 print(f'CPU tensor device: {cpu_tensor.device}') # 输出: cpu # 3. 将张量移动到GPU # 方法一:使用 .to(device) gpu_tensor = cpu_tensor.to(device) print(f'GPU tensor device: {gpu_tensor.device}') # 输出: cuda:0 # 方法二:直接在GPU上创建张量 gpu_tensor_direct = torch.randn(10000, 10000, device=device) print(f'Direct GPU tensor device: {gpu_tensor_direct.device}') # 4. 体验速度差异 def compute_on_cpu(): start = time.time() a = torch.randn(10000, 10000) b = torch.randn(10000, 10000) c = torch.mm(a, b) # 矩阵乘法 return time.time() - start def compute_on_gpu(): start = time.time() a = torch.randn(10000, 10000, device=device) b = torch.randn(10000, 10000, device=device) c = torch.mm(a, b) torch.cuda.synchronize() # 等待GPU计算完成,确保计时准确 return time.time() - start cpu_time = compute_on_cpu() gpu_time = compute_on_gpu() print(f'CPU time: {cpu_time:.2f}s, GPU time: {gpu_time:.2f}s, Speedup: {cpu_time/gpu_time:.1f}x')

这个简单的矩阵乘法,在GPU上通常能有几十到上百倍的加速。关键在于,参与运算的所有张量必须在同一个设备上。你不能把CPU张量和GPU张量直接相加。

5.2 进阶:将整个模型放到GPU上

对于神经网络模型,我们同样需要将其参数和缓冲区移动到GPU。

import torch.nn as nn import torch.optim as optim # 定义一个简单的神经网络 class SimpleNN(nn.Module): def __init__(self): super().__init__() self.fc1 = nn.Linear(784, 512) self.relu = nn.ReLU() self.fc2 = nn.Linear(512, 10) def forward(self, x): x = self.fc1(x) x = self.relu(x) x = self.fc2(x) return x model = SimpleNN() print(next(model.parameters()).device) # 初始在 cpu 上 # 将整个模型移动到GPU model.to(device) print(next(model.parameters()).device) # 现在在 cuda:0 上 # 模拟一些数据 dummy_input = torch.randn(64, 784, device=device) # 注意:输入数据也要在GPU上! dummy_target = torch.randint(0, 10, (64,), device=device) # 定义损失函数和优化器 criterion = nn.CrossEntropyLoss() optimizer = optim.SGD(model.parameters(), lr=0.01) # 前向传播、计算损失、反向传播、优化步骤 optimizer.zero_grad() output = model(dummy_input) loss = criterion(output, dummy_target) loss.backward() optimizer.step() print(f'Loss: {loss.item()}') print(f'GPU memory allocated: {torch.cuda.memory_allocated(0) / 1024**2:.2f} MB')

关键点model.to(device)是一个递归操作,它会将模型的所有子模块、参数、缓冲区都移动到指定的设备。优化器是在模型参数移动之后创建的,所以它记录的参数状态也在GPU上。

5.3 监控与优化:GPU内存管理与性能分析

GPU显存是宝贵资源,不当使用会导致CUDA out of memory错误。

  • 监控显存

    torch.cuda.empty_cache() # 清空PyTorch的CUDA缓存(非强制,由CUDA驱动管理) print(torch.cuda.memory_summary(device=device)) # 打印详细的显存使用摘要 # 或者使用更底层的 print(f'Allocated: {torch.cuda.memory_allocated(0)/1e9:.2f} GB') print(f'Cached: {torch.cuda.memory_reserved(0)/1e9:.2f} GB')
  • 使用torch.cuda.amp进行混合精度训练:这是大幅减少显存占用并提升训练速度的利器。它通过在部分计算中使用16位浮点数(FP16)来实现。

    from torch.cuda.amp import autocast, GradScaler scaler = GradScaler() # 梯度缩放,防止FP16下的梯度下溢 model.to(device) optimizer = optim.Adam(model.parameters()) for data, target in dataloader: data, target = data.to(device), target.to(device) optimizer.zero_grad() with autocast(): # 自动混合精度上下文 output = model(data) loss = criterion(output, target) scaler.scale(loss).backward() # 缩放损失,反向传播 scaler.step(optimizer) # 缩放梯度,更新参数 scaler.update() # 更新缩放因子
  • 使用DataLoaderpin_memory选项:当你的数据在CPU上,而模型在GPU上时,设置DataLoader(dataset, pin_memory=True)可以将数据锁页内存中,从而加速从CPU到GPU的数据传输。

6. 不同场景下的环境配置策略

你的工作场景决定了哪种安装和管理策略最高效。

6.1 个人开发电脑(Windows/Linux)

  • 策略:使用Conda创建独立环境,通过PyTorch官网获取Conda命令安装。这是最省心、最推荐的方式。
  • 多版本管理:如果你需要同时进行多个项目,分别使用不同版本的PyTorch(例如一个项目用PyTorch 1.13 + CUDA 11.7,另一个用PyTorch 2.2 + CUDA 12.1),只需为每个项目创建独立的Conda环境即可。通过conda activate env_name在不同环境间切换。
  • IDE配置:在PyCharm或VSCode中,将解释器设置为对应Conda环境的Python路径(例如~/miniconda3/envs/pytorch_gpu/bin/python)。

6.2 云服务器/实验室服务器(Linux)

  • 策略:同样推荐Conda。但服务器上通常已由管理员安装了系统级的CUDA Toolkit(如/usr/local/cuda-12.1)。在这种情况下,你依然可以使用Conda安装PyTorch,Conda会安装自己的cudatoolkit包,它与系统CUDA隔离,互不影响。这是一种更干净、无冲突的方式。
  • 无root权限:Conda可以安装在用户目录下(如~/miniconda3),不需要sudo权限,非常适合多用户服务器环境。
  • 环境复用:可以将配置好的Conda环境导出为environment.yml文件,方便在其他机器上复现。
    # 导出环境 conda env export -n pytorch_gpu > environment.yml # 在新机器上创建环境 conda env create -f environment.yml

6.3 追求极致性能与自定义编译

对于高级用户或研究者,如果需要对PyTorch进行修改,或者需要链接特定版本的CUDA、cuDNN,可以选择从源码编译PyTorch。这个过程非常耗时(可能需要数小时),且对系统依赖要求高,但能获得针对你特定硬件的最优性能,并允许深度定制。

git clone --recursive https://github.com/pytorch/pytorch cd pytorch # 根据官方README.md,安装所有依赖 # 然后进行编译配置和编译 python setup.py install

除非你有非常明确的需求,否则不建议新手走这条路。预编译的Conda/Pip包已经为绝大多数硬件进行了高度优化。

7. 避坑经验与长效维护建议

配置环境不是一劳永逸的事,随着项目迭代和库的更新,你可能会遇到新问题。分享几个我长期维护深度学习环境的心得。

心得一:固定版本,记录环境永远不要在你的项目中使用模糊的依赖声明(如pytorch)。一定要记录精确的版本。conda list --export > spec-file.txt或生成environment.yml是项目合作的标配。这能确保所有协作者、所有部署环境的一致性。

心得二:善用虚拟环境,保持base环境纯净Base环境只安装Conda本身和必要的工具(如jupyter, nb_conda)。所有项目依赖都安装在独立的虚拟环境中。这样,当你把一个环境搞乱时,直接删除重建即可,不会影响其他项目。

心得三:升级驱动和CUDA是“大动作”升级NVIDIA驱动或系统级CUDA Toolkit前,请三思。这可能会影响所有依赖CUDA的应用程序。在服务器上,这需要协调。在个人电脑上,升级前最好先创建一个系统还原点。对于PyTorch环境,更常见的升级路径是:在Conda中创建一个新环境,安装新版本的PyTorch+CUDA组合,测试无误后,再逐步迁移项目。

心得四:理解“CUDA版本”的多样性当别人说“我的环境是CUDA 12.1”时,可能指:

  1. 系统路径/usr/local/cuda-12.1指向的完整CUDA Toolkit。
  2. Conda环境中的cudatoolkit=12.1包。
  3. PyTorch等框架内部编译所依赖的CUDA版本。
  4. nvidia-smi显示的驱动支持的最高CUDA运行时版本。 这四者可以不同!对于PyTorch用户,最关键的是第2点和第3点必须匹配,而第1点通常无关紧要(除非你用nvcc编译代码),第4点需要>=第2点。

最后的小技巧:如果你在Windows上使用WSL2进行开发,想在WSL2内使用GPU,需要安装WSL2专用的NVIDIA驱动(在Windows宿主机上安装),然后在WSL2的Linux发行版内,同样通过Conda安装PyTorch。nvidia-smi命令在WSL2终端内同样可用,环境配置逻辑与原生Linux几乎一致。

← 返回列表