阅读(2323)
赞(14)
TensorFlow:tf.matrix_diag函数
2017-10-31 17:48:52 更新
tf.matrix_diag 函数
matrix_diag(
diagonal,
name=None
)
参考指南:数学函数>矩阵数学函数
返回具有给定批对角线值的批对角张量.
给定一个对角线(diagonal),这个操作将返回一个带有对角线的张量,而其他所有的东西都加0.对角线的计算如下:
假设对角线具有 k 维度 [I, J, K, ..., N],则输出是秩为 k+1 且维度为 [I,J,K,...,N,N] 的张量,其中:
output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n]
例如:
# 'diagonal' is [[1, 2, 3, 4], [5, 6, 7, 8]]
and diagonal.shape = (2, 4)
tf.matrix_diag(diagonal) ==> [[[1, 0, 0, 0]
[0, 2, 0, 0]
[0, 0, 3, 0]
[0, 0, 0, 4]],
[[5, 0, 0, 0]
[0, 6, 0, 0]
[0, 0, 7, 0]
[0, 0, 0, 8]]]
which has shape (2, 4, 4)
参数:
- diagonal:张量;秩为 k,并且 k >= 1.
- name:操作的名称(可选).
返回值:
该函数将返回张量,该张量与 diagonal 具有相同的类型;秩为 k+1,并且 output.shape = diagonal.shape + [diagonal.shape[-1]].