← 返回技术笔记

LEARNING NOTE

PyTorch 环境自检:从安装到第一轮训练之前

安装完成只是起点。用一份小清单,确认解释器、设备与自动求导是否按预期工作。

这篇最初用于整理环境配置后的自检步骤。

2026-10-24 更新:本机 WSL2 / ROCm PyTorch 已在工具辅助下通过 GPU 张量运算与反向传播检查。环境可用不等于已经亲手完成模型训练,下面仍是一份自检参考。

先确认自己在用哪个 Python

环境问题经常来自解释器与安装位置不一致。在准备跑实验的终端中执行:

python --version
python -m pip --version

使用 python -m pip 可以让包管理器跟随当前解释器。需要记录 Python 版本、环境名称和安装命令;如果在编辑器里运行,也要确认编辑器选中了同一个解释器。

查看 PyTorch 和可用设备

import sys
import torch

print("Python:", sys.executable)
print("PyTorch:", torch.__version__)
print("CUDA build:", torch.version.cuda)
print("HIP / ROCm build:", torch.version.hip)
print("GPU available:", torch.cuda.is_available())

if torch.cuda.is_available():
    print("GPU:", torch.cuda.get_device_name(0))

torch.version.cuda 描述 CUDA 构建版本,ROCm 构建则查看 torch.version.hip。ROCm PyTorch 同样沿用 torch.cuda 接口,因此 torch.cuda.is_available() 也用于检查当前 ROCm 进程的 GPU 可用性。CPU 版本可以用于基础练习;GPU 不可用时,应结合构建类型、设备与驱动检查原因。

如果需要 GPU,安装命令应按 PyTorch 官方安装页面 的操作系统、包管理器和计算平台选择,并结合实际驱动情况检查。

做一次最小的自动求导检查

import torch

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
x = torch.tensor(3.0, device=device, requires_grad=True)
y = x.square()
y.backward()

assert x.grad is not None
assert torch.isclose(x.grad, torch.tensor(6.0, device=device))
print("autograd check passed on", device)

这个例子检查张量创建、设备选择与反向传播,不代表已经完成模型训练。预期梯度来自 y=x2y=x^2 的导数 2x2x;在 x=3x=3 时应为 66。

第一轮训练前,留下什么记录

项目需要记录的信息
环境Python、PyTorch、依赖版本与设备
数据来源、使用条件、划分方法
模型结构、初始化、预训练权重来源
训练随机种子、学习率、批大小、轮数
评估指标定义、测试集合与选择规则

先把一个小实验完整跑通,再考虑扩大模型或增加复杂组件。下一篇实际实验记录,应填写真实观察到的输出和遇到的问题。