maxframe.tensor.diagflat#

maxframe.tensor.diagflat(v, k=0, sparse=None, gpu=None, chunk_size=None)[源代码]#

创建一个二维张量,其对角线为展平后的输入。

参数:
  • v (array_like) -- 输入数据,将被展平并设置为输出的第 k 条对角线。

  • k (int, optional) -- 要设置的对角线;默认值 0 对应“主”对角线,正值(负值)`k` 表示主对角线上方(下方)的第几条对角线。

  • sparse (bool, optional) -- 如果为 True 则创建稀疏张量,默认为 False

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

  • chunk_size (int or tuple of int or tuple of ints, optional) -- 每个维度上期望的块大小

返回:

out -- 二维输出张量。

返回类型:

Tensor

参见

diag

与 MATLAB 类似的用于一维和二维张量的函数。

diagonal

返回指定的对角线。

trace

沿对角线求和。

示例

>>> import maxframe.tensor as mt
>>> mt.diagflat([[1,2], [3,4]]).execute()
array([[1, 0, 0, 0],
       [0, 2, 0, 0],
       [0, 0, 3, 0],
       [0, 0, 0, 4]])
>>> mt.diagflat([1,2], 1).execute()
array([[0, 1, 0],
       [0, 0, 2],
       [0, 0, 0]])