pytorch 你不学?_EP01_环境准备与安装验证

PyTorch 你不学

EP01 环境准备与安装验证

吴佳浩 · 著

15 篇 · 本地 Windows 实战 · RTX 5090 实测

PyTorch 2.12.0 · Python 3.10+ · GPU RTX 5090 · Windows 11

作者:吴佳浩 | 撰稿:2026-05-25|最后更新:2026-6-11 | 实测:RTX 5090 + 96GB + Windows 11

EP01|环境准备与安装验证

本篇你会学到什么

学完这一篇,你应该能够:

  • 在 Windows 本地正确准备 PyTorch 学习环境
  • 理解为什么要先统一 Python、pip、虚拟环境和项目目录
  • 根据自己的机器情况判断应该先走 CPU 还是 GPU 路线
  • 用一段最小验证脚本确认 torchtorchvisiontorchaudio 是否安装成功
  • 排查最常见的环境问题,比如解释器选错、虚拟环境没激活、CUDA 不可用等

一、为什么第一篇不是写模型,而是先配环境

很多人学 PyTorch 卡住,不是因为不会写神经网络,而是因为环境从第一天就没统一。

最常见的情况有这些:

  • 电脑里装了多个 Python,但自己不知道当前终端到底在用哪个
  • pip install 装到了全局环境,运行代码时却用了另一个解释器
  • 编辑器里选的是系统 Python,命令行里激活的却是 .venv
  • 明明机器有 NVIDIA 显卡,却不知道到底该先装 CPU 版还是 CUDA 版
  • 代码文件、数据文件、模型权重文件散落在不同目录,后面一运行就报路径错误

所以这一步不是"杂活",而是后面整套教程能不能顺利推进的前提。

你可以把这一篇理解成:

先把地基打平,后面 14 篇才不会边学边修环境。


二、先建立一个正确的学习原则

在正式动手前,我建议你先接受一个很现实的原则:

原则 1:先跑通,再优化

不要一上来就执着于"我必须 GPU""我必须 CUDA 版本最完美""我必须装成生产环境那样"。

对于初学者来说,更合理的路径是:

  1. 先把 Python + 虚拟环境 + PyTorch 跑起来
  2. 先确认最小示例能执行
  3. 再考虑 GPU、混合精度、训练加速这些进阶问题

如果你一开始就把时间都花在 CUDA 兼容、驱动版本、显卡架构支持上,学习节奏很容易被打断。

原则 2:一个项目一个虚拟环境

不要把深度学习依赖全装到系统全局环境里。

原因很简单:

  • PyTorch 版本更新很快
  • torchvision、torchaudio 与 torch 存在版本匹配关系
  • 不同项目可能依赖不同版本的 Python 或第三方库

所以更稳的做法是:

每个项目目录单独配一个 .venv,把环境和代码绑在一起。

原则 3:环境是否合格,不看"安装过程",看"验证结果"

很多人看到终端里安装日志滚过去,就以为已经成功了。

真正应该看的不是安装过程,而是下面这几个问题:

  • 能不能 import torch
  • 能不能打印版本号
  • 能不能创建 Tensor 并做一次简单计算
  • 如果你走 GPU 路线,torch.cuda.is_available() 到底是不是 True

只有这些验证通过,环境才算真的就绪。


三、真实学习场景里,环境为什么会反复出问题

场景 1:命令行能跑,VS Code 里不能跑

这是最常见的问题之一。

原因通常不是 PyTorch 坏了,而是:

  • 你在 PowerShell 里激活了 .venv
  • 但 VS Code 选中的解释器不是这个虚拟环境

于是你会看到很典型的报错:

python 复制代码
ModuleNotFoundError: No module named 'torch'

这不一定说明没安装,而是说明你运行代码的解释器和你安装依赖的解释器不是同一个

场景 2:机器有显卡,但 CUDA 还是 False

这也很常见。

可能原因包括:

  • 装的是 CPU 版 PyTorch
  • NVIDIA 驱动没有正确安装
  • CUDA 运行时版本和当前 PyTorch 构建不匹配
  • 显卡太新,当前 PyTorch 版本还不支持该算力架构

所以"有显卡"不等于"PyTorch 一定能直接识别 GPU"。

场景 3:项目后面越写越乱

初学者一开始如果没有统一目录,后面就容易出现:

  • 训练数据放桌面
  • 脚本放下载目录
  • 模型权重放其他盘
  • 输出图表又保存在临时目录

结果不是学不会,而是每次运行前都在找文件。

所以这一篇除了安装依赖,还要顺手把目录结构统一掉。


四、推荐的项目目录结构

在这一整套教程里,我们统一使用当前仓库目录:

text 复制代码
G:\PyTorch-教程

建议保持下面这套基础结构:

text 复制代码
PyTorch-教程/
├── .venv/                 # 虚拟环境
├── data/                  # 数据集或示例数据
├── outputs/               # 图片、日志、可视化结果
├── runs/                  # 训练过程输出
├── checkpoints/           # 模型权重和断点
├── project_demo/          # 仓库里的 demo
├── ...
└── pytorch 你不学_README.md

下面这段命令可以先把常用目录建出来:

powershell 复制代码
cd G:\PyTorch-教程
mkdir data, outputs, runs, checkpoints

为什么要提前分目录

因为后面你会逐渐遇到这些文件:

  • 原始数据
  • 处理后的缓存数据
  • 模型保存文件 .pt / .pth
  • 训练日志
  • loss / accuracy 曲线图
  • 推理输出结果

如果这些东西都堆在项目根目录里,教程越往后就越乱。


五、环境准备流程总览(Mermaid)

先看一眼完整流程,后面每一步就不会迷路。
#mermaid-svg-AYJaUc8Xa5U4UHbw{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-AYJaUc8Xa5U4UHbw .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-AYJaUc8Xa5U4UHbw .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-AYJaUc8Xa5U4UHbw .error-icon{fill:#552222;}#mermaid-svg-AYJaUc8Xa5U4UHbw .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-AYJaUc8Xa5U4UHbw .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-AYJaUc8Xa5U4UHbw .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-AYJaUc8Xa5U4UHbw .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-AYJaUc8Xa5U4UHbw .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-AYJaUc8Xa5U4UHbw .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-AYJaUc8Xa5U4UHbw .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-AYJaUc8Xa5U4UHbw .marker{fill:#333333;stroke:#333333;}#mermaid-svg-AYJaUc8Xa5U4UHbw .marker.cross{stroke:#333333;}#mermaid-svg-AYJaUc8Xa5U4UHbw svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-AYJaUc8Xa5U4UHbw p{margin:0;}#mermaid-svg-AYJaUc8Xa5U4UHbw .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-AYJaUc8Xa5U4UHbw .cluster-label text{fill:#333;}#mermaid-svg-AYJaUc8Xa5U4UHbw .cluster-label span{color:#333;}#mermaid-svg-AYJaUc8Xa5U4UHbw .cluster-label span p{background-color:transparent;}#mermaid-svg-AYJaUc8Xa5U4UHbw .label text,#mermaid-svg-AYJaUc8Xa5U4UHbw span{fill:#333;color:#333;}#mermaid-svg-AYJaUc8Xa5U4UHbw .node rect,#mermaid-svg-AYJaUc8Xa5U4UHbw .node circle,#mermaid-svg-AYJaUc8Xa5U4UHbw .node ellipse,#mermaid-svg-AYJaUc8Xa5U4UHbw .node polygon,#mermaid-svg-AYJaUc8Xa5U4UHbw .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-AYJaUc8Xa5U4UHbw .rough-node .label text,#mermaid-svg-AYJaUc8Xa5U4UHbw .node .label text,#mermaid-svg-AYJaUc8Xa5U4UHbw .image-shape .label,#mermaid-svg-AYJaUc8Xa5U4UHbw .icon-shape .label{text-anchor:middle;}#mermaid-svg-AYJaUc8Xa5U4UHbw .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-AYJaUc8Xa5U4UHbw .rough-node .label,#mermaid-svg-AYJaUc8Xa5U4UHbw .node .label,#mermaid-svg-AYJaUc8Xa5U4UHbw .image-shape .label,#mermaid-svg-AYJaUc8Xa5U4UHbw .icon-shape .label{text-align:center;}#mermaid-svg-AYJaUc8Xa5U4UHbw .node.clickable{cursor:pointer;}#mermaid-svg-AYJaUc8Xa5U4UHbw .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-AYJaUc8Xa5U4UHbw .arrowheadPath{fill:#333333;}#mermaid-svg-AYJaUc8Xa5U4UHbw .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-AYJaUc8Xa5U4UHbw .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-AYJaUc8Xa5U4UHbw .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-AYJaUc8Xa5U4UHbw .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-AYJaUc8Xa5U4UHbw .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-AYJaUc8Xa5U4UHbw .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-AYJaUc8Xa5U4UHbw .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-AYJaUc8Xa5U4UHbw .cluster text{fill:#333;}#mermaid-svg-AYJaUc8Xa5U4UHbw .cluster span{color:#333;}#mermaid-svg-AYJaUc8Xa5U4UHbw div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-AYJaUc8Xa5U4UHbw .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-AYJaUc8Xa5U4UHbw rect.text{fill:none;stroke-width:0;}#mermaid-svg-AYJaUc8Xa5U4UHbw .icon-shape,#mermaid-svg-AYJaUc8Xa5U4UHbw .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-AYJaUc8Xa5U4UHbw .icon-shape p,#mermaid-svg-AYJaUc8Xa5U4UHbw .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-AYJaUc8Xa5U4UHbw .icon-shape .label rect,#mermaid-svg-AYJaUc8Xa5U4UHbw .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-AYJaUc8Xa5U4UHbw .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-AYJaUc8Xa5U4UHbw .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-AYJaUc8Xa5U4UHbw :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是

确认当前 Python 版本
进入项目目录
创建虚拟环境 .venv
激活虚拟环境
升级 pip
安装 PyTorch 及常用依赖
运行验证脚本
是否通过
开始后续教程
按报错类型排查

这张图的重点不是"步骤很多",而是提醒你:

配环境不是一条命令的事,而是一整套闭环:创建、安装、验证、排查。


六、正式开始:确认 Python 与 pip

1. 查看当前 Python 版本

先打开 PowerShell,执行:

powershell 复制代码
python --version

建议使用 Python 3.10、3.11 或 3.12 这一类主流版本。太老的版本后面很多库支持会变差,太新的版本有时又会遇到生态兼容问题。

2. 确认当前 Python 来自哪里

这一步非常重要。

powershell 复制代码
where python

你要关注的是:

  • 当前终端实际调用的是哪个 python.exe
  • 它是不是你预期中的安装路径

如果这里已经显示出多个 Python 路径,不要慌,但你至少要知道自己后面到底在用哪个。

3. 顺手看一下 pip 指向谁

powershell 复制代码
python -m pip --version

为什么我推荐用 python -m pip 而不是直接用 pip

因为这样可以更明确地保证:

  • 你调用的 pip 属于当前这个 Python
  • 不容易出现"装到 A,运行用 B"的错位情况

七、创建并激活虚拟环境

1. 进入项目目录

powershell 复制代码
cd G:\PyTorch-教程

2. 创建虚拟环境

powershell 复制代码
python -m venv .venv

这条命令会在当前目录下生成一个 .venv 文件夹,用来隔离这个项目自己的依赖环境。

3. 激活虚拟环境

powershell 复制代码
.\.venv\Scripts\activate

激活成功后,你通常会在终端左边看到类似这样的前缀:

powershell 复制代码
(.venv) PS G:\PyTorch-教程>

这表示你后面的 pythonpip 已经优先指向这个虚拟环境。

4. 升级 pip

powershell 复制代码
python -m pip install --upgrade pip

这一步虽然简单,但很值得做。因为老版本 pip 可能在解析依赖、下载 wheel 包时遇到不必要的问题。


八、安装 PyTorch 与常用依赖

方案 A:先走 CPU 路线(更稳)

如果你是初学者,或者只是想先把教程顺利跑起来,我建议优先用这条路线。

powershell 复制代码
python -m pip install torch torchvision torchaudio matplotlib pandas scikit-learn jupyter

这套依赖足够覆盖本系列教程里大多数基础实验。

方案 B:明确要走 GPU 路线

如果你已经确认:

  • 自己机器有 NVIDIA GPU
  • 驱动正常
  • 你确实希望后面训练用 GPU 加速

那就去 PyTorch 官网获取当前推荐的安装命令,而不是凭印象手敲。

原因很简单:

  • 不同版本 torch 对应不同构建
  • CUDA 版本不是"越新越好",而是"与当前构建匹配最好"
  • Windows 环境下,官方命令通常最稳

一个很实际的建议

如果你不确定自己该装什么,就先装 CPU 版,把前几篇教程学完。等你真的进入训练实战、图像任务、加速优化阶段,再回来切 GPU 路线,成本反而更低。


九、写一个最小验证脚本

下面这段代码的目标很简单:

  • 确认 torch 能导入
  • 打印版本信息
  • 检查 CUDA 是否可用
  • 创建一个 Tensor 做一次简单计算

这不是演示深度学习,而是在验证"环境是否真的活着"。

python 复制代码
import torch

# 打印当前 torch 版本
# 这一行最先确认:你至少已经成功安装并导入了 PyTorch
print("torch 版本:", torch.__version__)

# 检查当前是否能使用 CUDA
# 如果返回 False,不一定是错,很多学习场景用 CPU 也完全可以继续
print("CUDA 可用:", torch.cuda.is_available())

# 如果 CUDA 可用,就进一步打印显卡名称和 CUDA 构建版本
if torch.cuda.is_available():
    print("GPU 名称:", torch.cuda.get_device_name(0))
    print("CUDA 版本:", torch.version.cuda)
else:
    print("当前使用 CPU,前几篇教程也能正常学习。")

# 创建两个最简单的一维张量
# 这一步是在验证张量运算是否正常,不只是 import 成功而已
x = torch.tensor([1.0, 2.0, 3.0])
y = torch.tensor([4.0, 5.0, 6.0])

# 做一次逐元素加法
# 如果这里能正常输出结果,说明基础计算环境已经没问题了
z = x + y
print("x + y =", z)

# 再打印张量的 dtype 和 device,帮助你建立最早期的 Tensor 直觉
print("z.dtype =", z.dtype)
print("z.device =", z.device)

十、运行结果应该怎么看

如果一切正常,你大概会看到类似输出:

text 复制代码
torch 版本: 2.x.x
CUDA 可用: False
当前使用 CPU,前几篇教程也能正常学习。
x + y = tensor([5., 7., 9.])
z.dtype = torch.float32
z.device = cpu

如果你走的是 GPU 路线,可能会看到:

text 复制代码
torch 版本: 2.x.x+cuxxx
CUDA 可用: True
GPU 名称: NVIDIA GeForce RTX xxxx
CUDA 版本: 12.x
x + y = tensor([5., 7., 9.])
z.dtype = torch.float32
z.device = cpu

这里有两个容易忽略的点:

1. CUDA 可用: False 不等于失败

这通常只说明:

  • 你当前装的是 CPU 版
  • 或者 GPU 还没被当前环境识别

对前期学习来说,这并不构成阻塞。

2. 即使机器支持 GPU,默认新建 Tensor 也可能还在 CPU

比如上面代码里的 z.device = cpu 很正常,因为我们并没有主动把数据迁移到 GPU。

真正放到 GPU 上,通常要显式写:

python 复制代码
device = "cuda" if torch.cuda.is_available() else "cpu"
x = x.to(device)
y = y.to(device)

这个概念我们后面章节会反复用到。


十一、在 VS Code 里应该额外检查什么

如果你用 VS Code 学习,除了命令行成功,还要检查编辑器这一步。

1. 解释器是否选中了 .venv

通常在 VS Code 右下角可以看到当前 Python 解释器。

你要确保它指向的是类似下面的路径:

text 复制代码
G:\PyTorch-教程\.venv\Scripts\python.exe

2. 终端是否激活了同一个环境

有时候解释器选对了,但终端没切对;也有时候终端对了,解释器没切对。

只有这两者一致,你的体验才会稳定。

3. 不要被"代码补全正常"骗了

有时编辑器能补全,不代表运行时就一定没问题。最终还是要以"能否成功运行验证脚本"为准。


十二、常见错误与排查

问题 1:python 不是你想要的版本

先执行:

powershell 复制代码
where python
python --version

如果你发现路径不对,说明当前终端优先使用了另一个 Python。这个时候先别急着装库,先把解释器问题搞清楚。

问题 2:安装后还是提示 No module named torch

最常见原因有两个:

  • 当前终端没有激活 .venv
  • 编辑器运行时使用的不是这个虚拟环境

先重新执行:

powershell 复制代码
.\.venv\Scripts\activate
python -m pip --version
python -c "import torch; print(torch.__version__)"

如果命令行能成功而编辑器不行,基本就是解释器选择问题。

问题 3:torch.cuda.is_available() 是 False

先不要直接判定"安装失败"。更合理的排查顺序是:

  1. 你是不是装了 CPU 版 PyTorch
  2. 你的显卡是不是 NVIDIA
  3. 驱动是否正常
  4. 当前 PyTorch 构建是否支持你的显卡架构

对于学习阶段,我的建议依旧是:

先用 CPU 跑通教程,再决定要不要折腾 GPU。

问题 4:PowerShell 里无法激活虚拟环境

有些机器会因为执行策略限制,导致脚本无法直接运行。

这时不要第一反应就怀疑 PyTorch,问题往往只是 PowerShell 的执行策略或终端权限。

如果你遇到这种情况,可以:

  • 先确认是不是 PowerShell 限制脚本执行
  • 或者临时改用 CMD 测试虚拟环境是否能正常激活

核心目标不是"必须用某个终端",而是把环境先跑通。

问题 5:装得很乱,不知道当前环境到底有没有救

如果你已经在全局环境、多个 Python、多个 pip 之间来回折腾过,最省时间的办法往往不是继续补救,而是:

  1. 回到项目目录
  2. 删除当前 .venv
  3. 重新创建一个新的虚拟环境
  4. 重新安装依赖
  5. 再跑验证脚本

很多环境问题不是技术难,而是历史包袱太多。


十三、本篇小结

这一篇最核心的结论只有三点:

  1. 先把环境统一好,再学 PyTorch,效率会高很多
  2. 一个项目一个虚拟环境,是最省事的长期做法
  3. 环境是否合格,不看安装日志,看验证脚本是否跑通

如果你现在已经能做到下面这几件事,就说明 EP01 过关了:

  • 知道自己当前用的是哪个 Python
  • 能在项目目录创建并激活 .venv
  • 能安装 torch 并成功导入
  • 能运行验证脚本并看懂输出
  • 知道自己当前是 CPU 路线还是 GPU 路线

十四、练习题

练习 1

在你的终端里执行:

powershell 复制代码
where python
python --version
python -m pip --version

把这三条命令的输出各自代表什么,自己用一句话解释出来。
点击查看参考答案

where python → 显示当前终端找到的 python.exe 的完整路径。如果显示的是 .venv\Scripts\python.exe,说明虚拟环境已激活;如果显示的是系统路径(比如 C:\Users\xxx\AppData\...),说明还没进虚拟环境。

python --version → 打印当前 Python 解释器的版本号,比如 Python 3.10.11。确认版本 ≥ 3.10,否则 PyTorch 2.12.0 可能不兼容。

python -m pip --version → 打印 pip 的版本号和它绑定的 Python 路径。注意路径是不是指向虚拟环境内的 pip------如果是系统的 pip,说明包的安装位置不在虚拟环境中。

练习 2

删除项目中的 .venv 后,重新创建一次虚拟环境,并重新安装 torch。目标是把"环境搭建"从照抄命令变成你自己能独立完成的动作。
点击查看参考答案

完整操作步骤:

powershell 复制代码
# 1. 确认当前不在 .venv 内(提示符前面没有 (.venv))
deactivate

# 2. 删除旧的虚拟环境
Remove-Item -Recurse -Force .venv

# 3. 重新创建
python -m venv .venv

# 4. 激活
.\.venv\Scripts\activate

# 5. 升级 pip
python -m pip install --upgrade pip

# 6. 安装 PyTorch
pip install torch torchvision torchaudio

# 7. 验证
python -c "import torch; print(torch.__version__)"

如果上面的 7 步你不需要看就能独立做完,说明环境搭建已经掌握了。

练习 3

修改验证脚本,在输出 torch.__version__ 之外,再打印:

  • torch.rand(2, 3) 的结果
  • 这个张量的 shape
  • 这个张量的 dtype
  • 这个张量的 device

让自己开始熟悉 Tensor 的几个核心属性。
点击查看参考答案

python 复制代码
import torch

print(f"PyTorch 版本: {torch.__version__}")
print(f"CUDA 可用: {torch.cuda.is_available()}")

t = torch.rand(2, 3)
print(f"\n张量内容:\n{t}")
print(f"shape:  {t.shape}")       # → torch.Size([2, 3])
print(f"dtype:  {t.dtype}")       # → torch.float32
print(f"device: {t.device}")      # → cpu

预期输出类似:

复制代码
PyTorch 版本: 2.12.0+cu128
CUDA 可用: True

张量内容:
tensor([[0.1234, 0.5678, 0.9012],
        [0.3456, 0.7890, 0.1112]])
shape:  torch.Size([2, 3])
dtype:  torch.float32
device: cpu

即使有 GPU,torch.rand 默认创建的张量也在 cpu 上------device 需要手动指定或 .to('cuda') 才会切换。

练习 4

如果你的机器有 NVIDIA 显卡,尝试查清楚下面 3 个信息:

  • 显卡型号是什么
  • 当前驱动是否正常
  • 你当前安装的 PyTorch 是 CPU 版还是 CUDA 版

先把事实确认清楚,不要凭感觉判断。


参考答案:

查显卡型号:

在 PowerShell 中执行:

powershell 复制代码
nvidia-smi --query-gpu=name --format=csv,noheader

输出示例:NVIDIA GeForce RTX 5090

查驱动是否正常:

powershell 复制代码
nvidia-smi

如果能看到 GPU 信息表格(温度、显存使用、驱动版本等),驱动正常。如果提示 nvidia-smi 不是可执行命令No devices were found,说明驱动没装或版本不对。

查 PyTorch 是 CPU 版还是 CUDA 版:

python 复制代码
import torch
print(torch.cuda.is_available())    # True → CUDA 版(能调用 GPU)
print(torch.version.cuda)           # 显示编译时对的 CUDA 版本,如 "12.8"
print(torch.__version__)            # 版本号里有 "+cu128" 说明是 CUDA 版
                                    # 版本号是 "+cpu" 说明是 CPU 版

如果 torch.cuda.is_available() 返回 False,去 https://pytorch.org/get-started/locally/ 找到对应 CUDA 版本的安装命令重新装。

本篇总结:

估计你已经搭建了最基本的练习环境了,接下来会适当加快节奏。

工欲善其事必先利其器,循序渐进才能走得扎实,别光看不懂先动手试试。


下一篇预告

下一篇我们正式进入 PyTorch 的核心基础:Tensor 与张量基本操作

你会看到:

  • Tensor 为什么是整个 PyTorch 世界的基础数据结构
  • shapedtypedevice 到底分别在管什么
  • 为什么很多初学者的第一批报错,其实都和 Tensor 理解不清有关
相关推荐
葡萄城技术团队1 小时前
从NL2SQL到AI智能问数:企业数据分析的下一步在哪里
人工智能·数据挖掘·数据分析
XiaoZhangGOGOGO1 小时前
新的文本编辑方式
python
硅谷秋水1 小时前
NVIDIA OmniDreams:用于闭环自动驾驶仿真、支持实时生成的世界模型
人工智能·深度学习·机器学习·计算机视觉·自动驾驶
MartinYeung51 小时前
[论文学习]针对 LLM 的间接提示注入攻击用于高效隐私洩露之深度分析
人工智能·学习
A15362551 小时前
六轴工业机械臂厂家怎么选?评估维度与选型参考
大数据·服务器·人工智能
未来和明天1 小时前
领嵌iLeadE-588边缘计算盒子断网状态下可以独立工作
人工智能
留白_1 小时前
pandas练习题
python·数据分析·pandas
码字小学妹1 小时前
Claude Fable 5 接入实操:模型变化、Messages API 差异与国内调用
人工智能
数智化管理手记1 小时前
三步轻量化落地法!精益赋能数字化,让工厂转型告别形式化
运维·数据库·人工智能·精益工程