1.训练自己设计的分割模型:第一次训练时,在大概30几轮就出现训练集上的DSC达到80%以上,而验证集20%左右,出现过拟合现象。
解决措施:1.对于数据进行在线扩增2.又添加了600张左右的数据
结果在第一个epoch中就出现了NAN的问题
补救措施:把原来的数据恢复,但是nan仍然存在,此时降低学习率,nan还是存在,看到网上有帖子说把学习率降到0看看是否还出现nan,如果还出现那就不是学习率的问题。此时学习率下降到0之后,nan消失。又重启了一下程序,此时不再出现nan。模型训练了一晚,第二天发现训练的结果又变成了nan(应该加一个异常检测机制,这样就不会白训练了呜呜呜)
再次寻找nan的原因:
1.数据方面入手,label没有进行one.hot,检查其中是否含有不属于(0,1)的值(是一个2分割任务,label是黑白二值图像),查看过后label没有问题
2.查看loss的定义,有几个潜在的问题:网络不稳定。。。。。。(但是之前训练过,是可以训练好的)
3.检查结果是否sigmoid归一化,因为使用的损失函数是bce,问题找到:输出结果没有归一化,然后改正后没有出现nan