Keras损失突然从小值变成了inf

嗨,有人知道是什么原因导致训练损失突然变成了inf?

我正在训练一个小型网络,其中包含几个带有SGD的conv / batchnorm / relu / maxpool / dense层。 Ytrain是(?,1)形状,因此对于每次y true的批量大小为1时,张量都是(1,1)。我使用自定义损失函数:

def my_loss(y,yhat):
  mse = keras.losses.mean_squared_error(y,yhat)
  return K.sqrt(mse)

培训日志显示:

52725/2483247 [..............................] - eta: 5:54:20 - loss: 0.0759
52731/2483247 [..............................] - eta: 5:54:20 - loss: 0.0759
52737/2483247 [..............................] - eta: 5:54:20 - loss: inf
52743/2483247 [..............................] - eta: 5:54:20 - loss: inf

训练数据是不包含零或nan的正数,对于样本52725-52743,值是单个特征,范围为0.09至72.7。我不确定inf来自哪里。有想法吗?

zswalkflower 回答:Keras损失突然从小值变成了inf

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3161905.html

大家都在问