损失不降
- 清空梯度了吗?
optimizer.zero_grad() - 梯度回传了吗?
loss.backward() - 更新模型了吗?
optimizer.gtep() - 切换模式了吗?
model.train() / model.eval() - 用到了
masked_loss的地方,mask的0/1处理方式反了吗?还是1-mask才对?
可视化不对
- 数据可视化逻辑一致吗?
- 数据范围一致吗?有没有padding进来额外的0之类的?推荐按固定的区间对pred和gt同时进行可视化。
预测值中出现NaN
- 模型输出有没有被限定到合理范围?
- 模型权重的初始化方式优化一下?(实测经常有效果)
- 尝试减小学习率?或者更改调度策略,尽量不要太长时间维持在较高学习率?
测试集性能太差?
- 多来一些数据增强?