自定义损失函数会发生NaN损失,即使梯度设置为0

时间:2018-09-16 18:53:10

标签: python-3.x tensorflow tensorflow-gradient

我一直在尝试为TF Estimator实现自定义损失函数,但是TensorFlow返回NaN损失。即使将学习率设置为较低的数字(1e-10)或0,也会发生这种情况。当将梯度强制设置为0时,神经网络会起作用,这意味着存在梯度问题。我已经检查了数据集中的NaN值,离群值等。此外,我尝试删除了任何可能干扰自动微分的函数,但均无济于事(例如map_fn)。还有什么可能导致这些问题?

    损失函数不能平等地加权神经网络的所有预测;产生损失时会多次考虑一些预测
  • 损失函数还需要不通过神经网络运行的功能

错误消息:

tensorflow.python.training.basic_session_run_hooks.NanLossDuringTrainingError: NaN loss during training.

0 个答案:

没有答案