maxframe.tensor.logaddexp2#
- maxframe.tensor.logaddexp2(x1, x2, out=None, where=None, **kwargs)[源代码]#
输入值以2为底的指数和的对数。
计算
log2(2**x1 + 2**x2)。在机器学习中,当事件的计算概率小到超出正常浮点数范围时,该函数非常有用。在这种情况下,可以使用计算概率的以2为底的对数。该函数允许以这种方式存储的概率相加。- 参数:
x1 (array_like) -- 输入值。
x2 (array_like) -- 输入值。
out (Tensor, None, or tuple of Tensor and None, optional) -- 用于存储结果的位置。如果提供了此参数,则其形状必须能广播到输入值的形状。如果未提供或为 None,则返回一个新分配的 tensor。元组(只能作为关键字参数)的长度必须等于输出数量。
where (array_like, optional) -- 为 True 表示在该位置计算 ufunc,为 False 表示保留输出中的值不变。
**kwargs
- 返回:
result --
2**x1 + 2**x2的以2为底的对数。- 返回类型:
Tensor
参见
logaddexp输入值的指数和的对数。
示例
>>> import maxframe.tensor as mt
>>> prob1 = mt.log2(1e-50) >>> prob2 = mt.log2(2.5e-50) >>> prob12 = mt.logaddexp2(prob1, prob2) >>> prob1.execute(), prob2.execute(), prob12.execute() (-166.09640474436813, -164.77447664948076, -164.28904982231052) >>> (2**prob12).execute() 3.4999999999999914e-50