阅读(1396) (11)

使用diag返回对角张量

2017-09-30 17:44:39 更新

tf.diag

diag(
    diagonal,
    name=None
)

参考指南:数学>数学矩阵函数

返回具有给定对角线值的对角张量.

给定一个diagonal(对角线),这个操作返回一个带对角线的张量,其他的都用零填充.

对角线的计算方法如下:

假设 diagonal(对角线)具有维度:[D1,...,Dk],则输出是具有维度:[D1,...,Dk,D1,...,Dk]的秩为 2k 的张量,其中:

output [i1,..., ik, i1,..., ik] = diagonal [i1, ..., ik] 和其他的都用零填充.

例如:

# 'diagonal' is [1, 2, 3, 4]
tf.diag(diagonal) ==> [[1, 0, 0, 0]
                       [0, 2, 0, 0]
                       [0, 0, 3, 0]
                       [0, 0, 0, 4]]

ARGS:

  • diagonal:张量.必须是下列类型之一:float32,float64,int32,int64,complex64,complex128.秩为 k 的张量,k 最多为 3.
  • name:操作的名称(可选).

返回:

返回一个张量,具有与 diagonal(对角线)相同的类型.