Tensorflow:如何使用nan值处理输入数据

问题描述 投票:7回答:1

我有一个带有sigmoid损失的多层感知器(tf.nn.sigmoid_cross_entropy_with_logits)和一个Adam优化器(tf.train.AdamOptimizer)。我的输入数据有几个特征和一些南特征值。当我用0替换nan值时,我得到一个结果,但是,当我不替换nan值时,我得到loss = nan。

在tensorflow中处理nan值的最佳方法是什么?如何使用带有nan值的输入数据而不用0替换它们?

tensorflow nan
1个回答
0
投票

Question

我怎么能以某种方式告诉我的网络忽略一些输入数据。例如,当输入数据是nan时

Answer

这与在输入数据中添加掩码非常相似。你希望输入数据通过,nans转为零,但你想以某种方式向神经网络发出信号,忽略nans的位置,并注意其他一切。

this question about adding a mask中,我将介绍如何将遮罩成功添加到图像中,同时还为非图像问题提供代码演示。

  • 首先创建一个掩码,1表示数据存在于输入中,0表示存在nan。
  • 其次,清理将nans转换为0或0.5的输入,或任何真正的输入。
  • 第三,将掩码堆叠到输入上。如果输入是图像,则掩码变为另一个颜色通道。

masking question中的代码显示,当添加蒙版时,神经网络能够很好地学习,并且当未添加蒙版时,它无法很好地学习。

© www.soinside.com 2019 - 2024. All rights reserved.