mindspore.ops.ldexp

mindspore.ops.ldexp(x, other)[源代码]

逐元素将输入Tensor乘以 \(2^{other}\)

该函数使用两个参数,即尾数 x 和指数 other ,并将它们的乘积作为浮点数返回:

\[out_{i} = x_{i} * ( 2 ^{other_{i}} )\]

说明

该函数通常用于由尾数和幂构造浮点数,或将浮点数按二的幂进行缩放。

参数:
  • x (Tensor) - 输入的一个Tensor。

  • other (Tensor) - 指数Tensor,通常为整数。

返回:

Tensor,返回计算的结果。

异常:
  • TypeError - 如果 x 不是Tensor。

  • TypeError - 如果 other 不是Tensor。

  • ValueError - 如果 xother 的shape不能广播。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor
>>> from mindspore import ops
>>> x = Tensor(np.array([1.]), mindspore.float32)
>>> other = Tensor(np.array([1, 2, 3, 4]), mindspore.int32)
>>> out = ops.ldexp(x, other)
>>> print(out)
[ 2.  4.  8. 16.]
>>> x = Tensor(np.array([[1.], [2]]), mindspore.float32)
>>> other = Tensor(np.array([[1.], [2]]), mindspore.int32)
>>> out = ops.ldexp(x, other)
>>> print(out)
[[2.]
 [8.]]