模型训练过程中出现的loss:nan

问题描述:

在使用u-net进行语义分割训练时,最初使用数据A训练没有任何问题,随后将数据B添加到数据A中重新训练u-net出现loss:nan,由于添加数据之前模型能够正常运行,初步排除是模型问题,分析可能的原因有:

(1)数据A与数据B差异性太大;

(2)数据B中数据有问题

为此,进行了实验,分别是:

(1)在数据A中剔除数据B并添加其他与A相同来源的数据C,数据集为A+C,训练u-net----------结果:模型正常

(2)只使用数据B训练模型,---------结果:loss:nan

进一步确定数据B果然有问题,对B中数据进行一一筛查,发现某几张数据不完整,虽然图片尺度都一致,但是存在某部分缺失的现象,这应该就是传说中的脏数据,脏数据原图及标签如下:

    模型训练过程中出现的loss:nan     模型训练过程中出现的loss:nan

 

(3)使用剔除脏数据之后的数据集B实验,结果正常。

最初没有剔除这种数据的原因:原图对应的标签正常,对于原图来讲,需要识别的主体正常,其他部分都认为是背景即可,事实证明不能这样,认为是背景的东西也不可能太随意。直观解释是这样,理论解释希望大家多多留言。