如何避免在Keras或Tensorflow中reduce_mean成为空张量
我使用如何避免在Keras或Tensorflow中reduce_mean成为空张量,tensorflow,debugging,keras,Tensorflow,Debugging,Keras,我使用reduce\u mean获得tensor\u a的平均值。 如果tensor\u a是一个空的张量,我得到nan值 tensor_a = K.variable([]) print(K.get_value(tf.reduce_mean(tensor_a))) 输出: nan 但是,如果tensor\u a是一个空的张量,我希望得到零而不是nan值。 如何解决它?这就是你想要的吗?本质上,只要tf.size(tensor\u a)大于0,就可以调用reduce\u mean()。否则,您
reduce\u mean
获得tensor\u a
的平均值。
如果tensor\u a
是一个空的张量,我得到nan
值
tensor_a = K.variable([])
print(K.get_value(tf.reduce_mean(tensor_a)))
输出:
nan
但是,如果tensor\u a
是一个空的张量,我希望得到零而不是nan
值。
如何解决它?这就是你想要的吗?本质上,只要
tf.size(tensor\u a)
大于0,就可以调用reduce\u mean()。否则,您将退出0
tensor_a = K.variable([])
print(
K.get_value(
tf.cond(
tf.equal(tf.size(tensor_a), 0),
lambda : tf.constant(0.0), lambda: tf.reduce_mean(tensor_a)
)
)
)