eye

paddle. eye ( num_rows, num_columns=None, dtype=None, name=None, *, out=None, device=None, requires_grad=False, pin_memory=False ) [源代码]

构建二维 Tensor(主对角线元素为 1,其他元素为 0)。

备注

别名支持: 参数名 n 可替代 num_rowsm 可替代 num_columns,如 n=1 等价于 num_rows=1m=2 等价于 num_columns=2

参数

  • num_rows (int|Tensor) - 生成 2-D Tensor 的行数,数据类型为非负 int32。别名:n

  • num_columns (int|Tensor|None,可选) - 生成 2-D Tensor 的列数,数据类型为非负 int32。若为 None,则默认等于 num_rows。别名:m

  • dtype (str|paddle.dtype|np.dtype,可选) - 返回 Tensor 的数据类型。支持 int32、int64、float16、float32、float64、complex64、complex128。 默认值为 None,此时返回 Tensor 的数据类型为 float32。

  • name (str,可选) - 操作的名称,具体用法请参见 api_guide_Name,一般无需设置,默认值为 None。

关键字参数

  • out (Tensor,可选) - 用于保存输出结果的 Tensor,默认值为 None。

  • device (PlaceLike|None,可选) - 指定返回 Tensor 所在的设备。默认值为 None,表示使用当前全局设备(可通过 paddle.device.set_device 设置)。 对于 CPU Tensor,设备为 CPU;对于 CUDA Tensor,设备为当前 CUDA 设备。默认值为 None。

  • requires_grad (bool,可选) - 是否在返回的 Tensor 上记录 autograd 的操作。默认值为 False。

  • pin_memory (bool,可选) - 若设置为 True,则返回的 Tensor 将分配在锁页内存中。仅对 CPU Tensor 生效。默认值为 False。

返回

shape 为 [num_rows, num_columns]的 Tensor。

代码示例

>>> import paddle

>>> data = paddle.eye(3, dtype='int32')
>>> print(data.numpy())
[[1 0 0]
 [0 1 0]
 [0 0 1]]
>>> data = paddle.eye(2, 3, dtype='int32')
>>> print(data.numpy())
[[1 0 0]
 [0 1 0]]