嗨,有人知道是什么原因导致训练损失突然变成了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来自哪里。有想法吗?