Tensorflow:轴1中二维张量的非NaNs的总和?

时间:2017-06-26 23:11:10

标签: python arrays tensorflow tensor

tensor成为len(tensor.get_shape()) == 2的张量。 怎么做np.nansum(tensor, axis=1)?从documentationnansum“返回给定轴上的数组元素之和,将非数字(NaN)视为零”。

我可以看到如何使用:

tf.reduce_sum(tf.where(tf.is_nan(tensor), tf.zeros_like(tensor), tensor), axis=1)

但这似乎过于复杂。有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

没有更好的方法。只需使用问题中包含的代码即可。

事实上,您可以使用tensor替换tf.where中的NaN:

tf.where(tf.is_nan(tensor), replacement_tensor, tensor)

当然,设置replacement_tensor = tf.zeros_like(tensor)会用零替换NaN。