返回张量的对角线部分。
用法
tf.linalg.tensor_diag_part(
input, name=None
)
参数
-
input
排名为2k
的Tensor
。 -
name
操作的名称(可选)。
返回
-
包含
input
对角线的张量。具有与input
相同的类型,并且排名k
。
此操作返回带有 input
的 diagonal
部分的张量。 diagonal
部分计算如下:
假设 input
有维度 [D1,..., Dk, D1,..., Dk]
,那么输出是一个秩为 k
的张量,维度为 [D1,..., Dk]
其中:
diagonal[i1,..., ik] = input[i1, ..., ik, i1,..., ik]
.
对于 2 阶张量,linalg.diag_part
和 linalg.tensor_diag_part
产生相同的结果。对于 3 级及更高等级,linalg.diag_part 提取张量中每个 inner-most 矩阵的对角线。下面给出了它们不同的示例。
x = [[[[1111,1112],[1121,1122]],
[[1211,1212],[1221,1222]]],
[[[2111, 2112], [2121, 2122]],
[[2211, 2212], [2221, 2222]]]
]
tf.linalg.tensor_diag_part(x)
<tf.Tensor:shape=(2, 2), dtype=int32, numpy=
array([[1111, 1212],
[2121, 2222]], dtype=int32)>
tf.linalg.diag_part(x).shape
TensorShape([2, 2, 2])
相关用法
- Python tf.linalg.tensor_diag用法及代码示例
- Python tf.linalg.trace用法及代码示例
- Python tf.linalg.tridiagonal_solve用法及代码示例
- Python tf.linalg.tridiagonal_matmul用法及代码示例
- Python tf.linalg.triangular_solve用法及代码示例
- Python tf.linalg.LinearOperatorFullMatrix.matvec用法及代码示例
- Python tf.linalg.LinearOperatorToeplitz.solve用法及代码示例
- Python tf.linalg.LinearOperatorIdentity.solvevec用法及代码示例
- Python tf.linalg.LinearOperatorPermutation.solve用法及代码示例
- Python tf.linalg.band_part用法及代码示例
- Python tf.linalg.LinearOperatorKronecker.diag_part用法及代码示例
- Python tf.linalg.lu_matrix_inverse用法及代码示例
- Python tf.linalg.LinearOperatorToeplitz.matvec用法及代码示例
- Python tf.linalg.LinearOperatorBlockLowerTriangular.solvevec用法及代码示例
- Python tf.linalg.LinearOperatorLowerTriangular.matvec用法及代码示例
- Python tf.linalg.LinearOperatorCirculant2D.solve用法及代码示例
- Python tf.linalg.LinearOperatorCirculant3D.diag_part用法及代码示例
- Python tf.linalg.LinearOperatorToeplitz.solvevec用法及代码示例
- Python tf.linalg.LinearOperatorCirculant2D.assert_non_singular用法及代码示例
- Python tf.linalg.LinearOperatorPermutation.diag_part用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.linalg.tensor_diag_part。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。