mars.tensor.logaddexp2#
- mars.tensor.logaddexp2(x1, x2, out=None, where=None, **kwargs)[来源]#
输入的指数和的对数,基数为2。
计算
log2(2**x1 + 2**x2)。这个函数在机器学习中非常有用,当事件计算的概率可能非常小,以至于超过正常浮点数的范围。在这种情况下,可以使用计算概率的以2为底的对数。这个函数允许添加以这种方式存储的概率。- Parameters
x1 (array_like) – 输入值。
x2 (array_like) – 输入值。
out (Tensor, None, 或 tuple 的 Tensor 和 None, 可选) – 结果存储的位置。如果提供,它必须具有和输入相同的广播形状。如果未提供或None,将返回一个新分配的张量。元组(仅作为关键字参数可能)必须具有与输出数量相等的长度。
where (array_like, 可选) – 值为 True 表示在该位置计算 ufunc,值为 False 表示保持输出中的该值不变。
**kwargs –
- Returns
结果 – 基于2的对数的
2**x1 + 2**x2。- Return type
张量
另请参阅
logaddexp输入的指数之和的对数。
示例
>>> import mars.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