【问题标题】:Tensorflow NN: Custom loss and accuracy work, MSE returns NaNTensorflow NN:自定义损失和准确性工作,MSE 返回 NaN
【发布时间】:2021-07-30 21:53:51
【问题描述】:

我遇到了一些令人困惑的情况。我正在训练一个具有自定义损失函数和两个指标 MSE 和准确性的 Tensorflow/Keras 神经网络。在对训练数据进行评估时,损失和准确率返回数字,但 MSE 为 NaN。我想知道这是否有可能的解释。谢谢。

【问题讨论】:

  • 我的建议:1- 更改优化器 2- 检查输入中的 nans 3- 标准化输入 4- 在目标中检查标签是否正确(范围等)

标签: tensorflow keras deep-learning


【解决方案1】:

再次检查您的输入。输入可能有一些“非数字”值。参考这个:How can I check for NaN values?

或快速测试:

for value in values:
    print(f"{repr(value):<8} : {is_nan(value)}")

【讨论】:

  • 有趣 - 我会尝试这样做。谢谢!
  • @Dammio 这怎么可能? MSE 表示误差之和^2 除以样本数。样本数始终>0。
  • 我修改了我的答案,可能有一些 Not a Number exists.
猜你喜欢
  • 1970-01-01
  • 2021-07-21
  • 2019-10-14
  • 2017-12-14
  • 1970-01-01
  • 2022-01-08
  • 2021-03-06
  • 2020-06-27
  • 2018-06-25
相关资源
最近更新 更多