跳转至

训练流程

把「数据 → 模型 → 损失 → 反传 → 更新 → 评估」写成可维护的闭环。

标准步骤

  1. 数据准备与清洗(见 数据管道)
  2. 数据集切分(训练 / 验证 / 测试)
  3. 模型构建
  4. 定义损失与优化器
  5. 训练与验证循环
  6. 评估与误差分析
  7. 导出与部署

推荐工作流

1. 先做一个能过拟合小子集的最小模型(证明管道通)
2. 加验证集与指标,确认可泛化信号
3. 再加增强 / 正则 / 调度器
4. 系统性调参,每次只动少数变量
5. 固定种子做几次复现,报告均值±方差

最小可靠训练骨架

model.train()
for epoch in range(epochs):
    for x, y in train_loader:
        x, y = x.to(device), y.to(device)
        optimizer.zero_grad(set_to_none=True)
        loss = criterion(model(x), y)
        loss.backward()
        optimizer.step()

    metrics = evaluate(model, val_loader, device)
    # 早停 / 存最优 checkpoint / 调学习率

评估时:model.eval() + torch.no_grad()。

工程增强

技巧 用途
混合精度 AMP 加速、省显存
梯度累积 小显存模拟大 batch
梯度裁剪 防爆炸
Checkpoint 保存 model/optim/epoch/最佳指标

更多调参见 调参清单,稳定性见 训练稳定性与 NaN 排查。