当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.math.reduce_logsumexp用法及代码示例


计算 log(sum(exp(跨张量维度的元素)))。

用法

tf.math.reduce_logsumexp(
    input_tensor, axis=None, keepdims=False, name=None
)

参数

  • input_tensor 要减少的张量。应该是数字类型。
  • axis 要减小的尺寸。如果None(默认),减少所有维度。必须在 [-rank(input_tensor), rank(input_tensor)) 范围内。
  • keepdims 如果为真,则保留长度为 1 的缩减维度。
  • name 操作的名称(可选)。

返回

  • 减少的张量。

沿 axis 中给定的尺寸减少 input_tensor 。除非 keepdims 为真,否则对于 axis 中的每个条目,张量的秩都会减少 1,这必须是唯一的。如果 keepdims 为真,则保留缩减后的维度,长度为 1。

如果axis 没有条目,则减少所有维度,并返回具有单个元素的张量。

这个函数比 log(sum(exp(input))) 在数值上更稳定。它避免了由于取大输入的 exp 导致的溢出和取小输入的 log 导致的下溢。

例如:

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, keepdims=True)  # [[log(3)], [log(3)]]
tf.reduce_logsumexp(x, [0, 1])  # log(6)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.math.reduce_logsumexp。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。