mindspore.ops.eye

mindspore.ops.eye(n, m=None, dtype=None)[源代码]

创建一个主对角线上元素为1,其余元素为0的Tensor。

说明

Ascend平台支持返回Tensor的数据类型包括float16, float32, int8, int16, int32, int64, uint8和bool。

参数:
  • n (int) - 指定返回Tensor的行数。仅支持常量值。

  • m (int,可选) - 指定返回Tensor的列数。仅支持常量值。默认值为None,返回Tensor的列数默认与n相等。

  • dtype (mindspore.dtype,可选) - 指定返回Tensor的数据类型。数据类型必须是 bool_number 。默认值为 None ,返回Tensor的数据类型默认为mindspore.float32。

返回:

Tensor,主对角线上为1,其余的元素为0。它的shape由 nm 指定。数据类型由 dtype 指定。

异常:
  • TypeError - mn 不是int。

  • ValueError - mn 小于0。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> from mindspore import ops
>>> output = ops.eye(2, 2, mindspore.int32)
>>> print(output)
[[1 0]
 [0 1]]
>>> print(output.dtype)
Int32
>>> output = ops.eye(1, 2, mindspore.float32)
>>> print(output)
[[1. 0.]]
>>> print(output.dtype)
Float32
>>> output = ops.eye(2, dtype=mindspore.int32)
>>> print(output)
[[1 0]
 [0 1]]
>>> print(output.dtype)
Int32
>>> output = ops.eye(2)
>>> print(output)
[[1. 0.]
 [0. 1.]]
>>> print(output.dtype)
Float32