Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TensorFlow:是否可以在忽略NaN值的同时减少总和?_Tensorflow - Fatal编程技术网

TensorFlow:是否可以在忽略NaN值的同时减少总和?

TensorFlow:是否可以在忽略NaN值的同时减少总和?,tensorflow,Tensorflow,假设我有一个二维张量(批量大小,损失大小),我希望得到每个数据样本的每个损失维度之和,这可以通过tf来实现。减少平均值(张量,轴=-1) 但是,如果在我的张量中有NaN值,并且我想在计算和时忽略这些NaN值,该怎么办?有人知道怎么做吗 另外,我知道我们可以使用tf.boolean\u mask来匹配nan,但是如果我简单地使用tensor=tf.boolean\u mask(tensor,tf.logical\u not(tf.is\u nan(tensor)),输出将被压缩成一个一维,这不是我

假设我有一个二维张量
(批量大小,损失大小)
,我希望得到每个数据样本的每个损失维度之和,这可以通过
tf来实现。减少平均值(张量,轴=-1)

但是,如果在我的张量中有NaN值,并且我想在计算和时忽略这些NaN值,该怎么办?有人知道怎么做吗

另外,我知道我们可以使用
tf.boolean\u mask
来匹配nan,但是如果我简单地使用
tensor=tf.boolean\u mask(tensor,tf.logical\u not(tf.is\u nan(tensor))
,输出将被压缩成一个一维,这不是我想要的

非常感谢!

您可以使用将
张量中的NaN值替换为零,同时保留原始形状:

tensor = ...

# Replace all NaN values with 0.0.
tensor_without_nans = tf.where(tf.is_nan(tensor), tf.zeros_like(tensor), tensor)

sum_ignoring_nans = tf.reduce_sum(tensor_without_nans, axis=-1)