as_real

paddle. as_real ( x, name=None ) [源代码]

将复数 Tensor 转为实数 Tensor.

输入 Tensor 的数据类型是 'complex64' 或者 'complex128',输出 Tensor 的数据类型相应为 'float32' 或者 'float64'.

输入 Tensor 的形状是 (*,) (其中 * 表示任意形状),输出 Tensor 的形状是 (*, 2),亦即,输出的形状是在输入形状后附加一个 2,因为一个复数的实部和虚部分别表示为一个实数。

参数

  • x (Tensor) - 输入 Tensor,数据类型为:'complex64' 或 'complex128'。

  • name (str,可选) - 操作的名称(可选,默认值为None)。更多信息请参见 Name

返回

输出 Tensor,数据类型是 'float32' 或 'float64', 与 x 的数值精度一致。

代码示例

import paddle
x = paddle.arange(12, dtype=paddle.float32).reshape([2, 3, 2])
y = paddle.as_complex(x)
z = paddle.as_real(y)
print(z.numpy())

# [[[ 0.  1.]
#   [ 2.  3.]
#   [ 4.  5.]]

#  [[ 6.  7.]
#   [ 8.  9.]
#   [10. 11.]]]