三分支同时训练,在几次iter之后就直接报错:
其中一个分支的输出直接全为nan,还以为是网络架构或者数据结构出错,仔细核查之后,错误来源于三个分支中某个或某几个分支的损失过大,造成在一开始就出现了梯度爆炸的情况,通过减小学习率也仅仅只能适量减少这种情况的出现。
因为两个分支的Loss是我自己写的,所以在对出现问题两个分支的Loss做了重建之后解决了问题。
做一个记录,这个简单问题困扰了我很久。
三分支同时训练,在几次iter之后就直接报错:
其中一个分支的输出直接全为nan,还以为是网络架构或者数据结构出错,仔细核查之后,错误来源于三个分支中某个或某几个分支的损失过大,造成在一开始就出现了梯度爆炸的情况,通过减小学习率也仅仅只能适量减少这种情况的出现。
因为两个分支的Loss是我自己写的,所以在对出现问题两个分支的Loss做了重建之后解决了问题。
做一个记录,这个简单问题困扰了我很久。