返回信息流训练过程中,torch.nn.Linear()输出的tensor 数值越来越小,无限趋于0,导致了loss出现nan,请教各位大神,说一下问题在哪里
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #36470同步于 2020/3/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖
请教一个使用pytorch训练过程出现的问题
CHANCEZHW
2020/3/24镜像同步22 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
应该是分类任务吧?Linear的输出应该是要和label求损失了,这个时候Linear输出趋近于0会降低损失值,说明上层无法做出有效的响应只能退而求其次输出全0。个人感觉最有可能的是高层发生了dead relu,在自制的小数据集上没有正确的初始化/预训练权重/热身训练之类导致的。
1.你的学习率设置可能有问题,如果lr设置过大可能会出现这种问题。2.你的数据集本身有问题,输入的部分会有nan的地方出现。3,你的网络里面尤其可能出现了e的指数次幂导致的超出范围。4.如果你的网络是自己写的,查查是不是中间某个地方会出现问题。建议逐个排查。