当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.linalg.tensor_diag_part用法及代码示例


返回张量的对角线部分。

用法

tf.linalg.tensor_diag_part(
    input, name=None
)

参数

  • input 排名为 2kTensor
  • name 操作的名称(可选)。

返回

  • 包含 input 对角线的张量。具有与 input 相同的类型,并且排名 k

此操作返回带有 inputdiagonal 部分的张量。 diagonal 部分计算如下:

假设 input 有维度 [D1,..., Dk, D1,..., Dk] ,那么输出是一个秩为 k 的张量,维度为 [D1,..., Dk] 其中:

diagonal[i1,..., ik] = input[i1, ..., ik, i1,..., ik].

对于 2 阶张量,linalg.diag_partlinalg.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])

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.linalg.tensor_diag_part。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。