评价此页

torch.frexp#

torch.frexp(input, *, out=None) -> (Tensor mantissa, Tensor exponent)#

input 分解为尾数 (mantissa) 和指数 (exponent) 张量,使得 input=mantissa×2exponent\text{input} = \text{mantissa} \times 2^{\text{exponent}}.

尾数的范围是开区间 (-1, 1)。

支持浮点数输入。

参数

input (Tensor) – 输入张量

关键字参数

out (tuple, optional) – 输出张量

示例

>>> x = torch.arange(9.)
>>> mantissa, exponent = torch.frexp(x)
>>> mantissa
tensor([0.0000, 0.5000, 0.5000, 0.7500, 0.5000, 0.6250, 0.7500, 0.8750, 0.5000])
>>> exponent
tensor([0, 1, 2, 2, 3, 3, 3, 3, 4], dtype=torch.int32)
>>> torch.ldexp(mantissa, exponent)
tensor([0., 1., 2., 3., 4., 5., 6., 7., 8.])