torch.frexp
- torch.frexp(input, *, out=None) -> (Tensor mantissa, Tensor exponent)
-
将
input
分解为尾数和指数两个张量,使得$\text{input} = \text{mantissa} \times 2^{\text{exponent}}$。尾数的取值范围是开区间 (-1, 1)。
支持浮动数值输入。
示例:
>>> 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.])