解决方法或者问题排查:
加归一化层:
我的问题是我新增的一个模块与原来的模块得到的张量相加,原张量是归一化后的,我的没有:
class Module(nn.Module):
def __init__(
self,
dim,
):
super().__init__()
# 新增一个LayerNorm层进行归一化
self.layer_norm = nn.LayerNorm(dim)
def forward(self, x, size):
# 最后输出前进行处理
x = self.layer_norm(x)
return x
batchsize设小点
学习率降低
数据缺少label
我只遇到了第一个那种情况,所以我给出第一个的解决方法,其他的后续遇到再补充。
排查的时候可以在关键节点增加断点,比如我的训练一个epoch时没问题,一个epoch训练完要进行验证的时候出现问题,所以打印出一个epoch的所有loss看怎么回事。