當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。