wandb相关参数解释
Epoch与Global Step的关系
- Epoch:表示完整遍历一次训练数据集的次数。
- Global Step:表示模型已经处理过的batch数量(累计值)。
例如:
- 若训练集有10,000样本,
batch_size=32
,则每个epoch包含10,000/32 ≈ 313
个batch。 - 训练30个epoch后,
global_step = 30 * 313 ≈ 9390
。
- 若训练集有10,000样本,
指标记录方式
PyTorch Lightning通过以下方式记录指标:
(1) 训练指标 (train_loss
, train_acc
)
train_loss
:在training_step()
中返回的损失值,默认每个batch记录一次(即每global_step+1
时记录)。
例如:30个epoch × 10 batch/epoch → 300个train_loss
记录点。train_acc
:需在training_step()
或on_train_epoch_end()
中手动计算并调用self.log()
。- 若每个batch记录一次:300个记录点(可能导致噪声)。
- 若每个epoch记录一次:30个记录点(推荐,需在
on_train_epoch_end
中计算)。
(2) 验证/测试指标 (test_loss
, test_acc
)
test_loss
和test_acc
:通常在validation_step()
或test_step()
中计算,并在on_validation_epoch_end()
或on_test_epoch_end()
中聚合记录。- 默认每个epoch记录一次(30个记录点)。
- 记录频率由
check_val_every_n_epoch
参数控制(默认每1个epoch验证一次)。
上次更新: 2025/04/02, 12:03:38