tf.reduce_logsumexp 函数
reduce_logsumexp(
input_tensor,
axis=None,
keep_dims=False,
name=None,
reduction_indices=None
)
沿着axis指定的轴计算。如果axis=None,那么将计算整个input_tensor张量的值,并返回一个标量。
例如
x = tf.constant([[0., 0., 0.], [0., 0., 0.]])
tf.reduce_logsumexp(x) # log(6)
tf.reduce_logsumexp(x, 0) # [log(2), log(2), log(2)]
tf.reduce_logsumexp(x, 1) # [log(3), log(3)]
tf.reduce_logsumexp(x, 1, keep_dims=True) # [[log(3)], [log(3)]]
tf.reduce_logsumexp(x, [0, 1]) # log(6)
x = tf.constant([[0., 1., 2.], [0., 1., 2.]])
y1 = tf.reduce_logsumexp(x) # 3.1007533
y2 = tf.reduce_logsumexp(x, 0) # array([log(2), log(2e), log(4e)], dtype=float32)
y3 = tf.reduce_logsumexp(x, 1) # array([log(e^2+e+1), log(e^2+e+1)], dtype=float32)
y4 = tf.reduce_logsumexp(x, [0, 1]) # log(2*e^2+2*e+2)
y5 = tf.reduce_logsumexp(x) # log(2*e^2+2*e+2)