debian

Debian系统PyTorch运行慢怎么办

小樊
39
2025-11-19 14:45:44
栏目: 智能运维

Debian 上 PyTorch 变慢的排查与优化清单

一、先快速定位瓶颈

二、GPU 训练加速要点

三、CPU 或仅 CPU 运行时的优化

四、Debian 系统层面的优化

五、可直接套用的优化代码片段

# 设备与基准设置
import torch, torch.backends.cudnn as cudnn
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
cudnn.benchmark = True  # 输入尺寸固定时开启

# DataLoader 优化
from torch.utils.data import DataLoader
loader = DataLoader(dataset,
                  batch_size=256,
                  shuffle=True,
                  num_workers=4,           # 依据CPU核心数调优
                  pin_memory=True,
                  prefetch_factor=2)

# AMP + 梯度累积
from torch.cuda.amp import autocast, GradScaler
scaler = GradScaler()
accum_steps = 4

for i, (x, y) in enumerate(loader):
    x, y = x.to(device, non_blocking=True), y.to(device, non_blocking=True)
    with autocast():
        out = model(x)
        loss = criterion(out, y)
    scaler.scale(loss / accum_steps).backward()
    if (i + 1) % accum_steps == 0:
        scaler.step(optimizer)
        scaler.update()
        optimizer.zero_grad(set_to_none=True)

# 验证阶段
with torch.no_grad():
    for x, y in val_loader:
        x, y = x.to(device, non_blocking=True), y.to(device, non_blocking=True)
        out = model(x)

0
看了该问题的人还看了