mars.tensor.eye#

mars.tensor.eye(N, M=None, k=0, dtype=None, sparse=False, gpu=None, chunk_size=None, order='C')[来源]#

返回一个二维张量,对角线上的元素为1,其余元素为0。

Parameters
  • N (int) – 输出中的行数。

  • M (int, 可选) – 输出中的列数。如果为None,则默认为N

  • k (int, 可选) – 对角线的索引:0(默认值)指的是主对角线,正值指的是上三角,负值指的是下三角。

  • dtype (数据类型, 可选) – 返回的张量的数据类型。

  • 稀疏 (布尔值, 可选) – 如果为真则创建稀疏张量,默认为假

  • gpu (bool, 可选) – 如果为True,则在GPU上分配张量,默认为False

  • chunk_size (inttupleinttupleints, 可选) – 每个维度上所需的块大小

  • order ({'C', 'F'}, 可选) – 输出是否应该以行主序(C风格)或列主序(Fortran风格)存储在内存中。

Returns

I – 一个张量,其中所有元素都等于零,除了k-th对角线,其值等于一。

Return type

形状为 (N,M) 的张量

另请参阅

identity

(几乎)等效的函数

diag

从用户指定的 1-D 张量生成 2-D 对角张量。

示例

>>> import mars.tensor as mt
>>> mt.eye(2, dtype=int).execute()
array([[1, 0],
       [0, 1]])
>>> mt.eye(3, k=1).execute()
array([[ 0.,  1.,  0.],
       [ 0.,  0.,  1.],
       [ 0.,  0.,  0.]])