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,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

输出 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)

# Tensor(shape=[2, 3, 2], dtype=float32, place=Place(gpu:0), stop_gradient=True,
#        [[[0. , 1. ],
#          [2. , 3. ],
#          [4. , 5. ]],

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