2

tensor为张量 where len(tensor.get_shape()) == 2。怎么办np.nansum(tensor, axis=1)?从文档中,nansum“返回给定轴上的数组元素的总和,将非数字(NaNs)视为零”。

我可以看到如何使用:

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

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

4

1 回答 1

1

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

实际上,您可以tensor使用以下任何方式替换 NaN tf.where

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

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

于 2017-06-29T16:26:44.787 回答