torch.frexp

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

input分解为尾数和指数两个张量,使得$\text{input} = \text{mantissa} \times 2^{\text{exponent}}$

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

支持浮动数值输入。

参数

输入 (Tensor) – 输入的张量

关键字参数

out (元组, 可选) – 输出的张量

示例:

>>> 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.])
本页目录