快捷鍵

torch.diagonal

torch.diagonal(input, offset=0, dim1=0, dim2=1) Tensor

傳回 input 的部分檢視,其對角線元素相對於 dim1dim2 作為維度附加到形狀的末端。

參數 offset 控制要考慮哪個對角線

  • 如果 offset = 0,則為主對角線。

  • 如果 offset > 0,則在主對角線上方。

  • 如果 offset < 0,則在主對角線下方。

對此函數的輸出應用具有相同引數的 torch.diag_embed() 會產生一個對角矩陣,其對角線元素與輸入相同。 但是,torch.diag_embed() 具有不同的預設維度,因此需要明確指定這些維度。

參數
  • input (Tensor) – 輸入張量。必須至少是 2 維的。

  • offset (int, optional) – 要考慮哪個對角線。預設值:0 (主對角線)。

  • dim1 (int, optional) – 關於哪個的第一個維度,取出對角線。預設值:0。

  • dim2 (int, optional) – 關於哪個的第二個維度,取出對角線。預設值:1。

注意

若要取得批次對角線,請傳入 dim1=-2, dim2=-1。

範例

>>> a = torch.randn(3, 3)
>>> a
tensor([[-1.0854,  1.1431, -0.1752],
        [ 0.8536, -0.0905,  0.0360],
        [ 0.6927, -0.3735, -0.4945]])


>>> torch.diagonal(a, 0)
tensor([-1.0854, -0.0905, -0.4945])


>>> torch.diagonal(a, 1)
tensor([ 1.1431,  0.0360])


>>> x = torch.randn(2, 5, 4, 2)
>>> torch.diagonal(x, offset=-1, dim1=1, dim2=2)
tensor([[[-1.2631,  0.3755, -1.5977, -1.8172],
         [-1.1065,  1.0401, -0.2235, -0.7938]],

        [[-1.7325, -0.3081,  0.6166,  0.2335],
         [ 1.0500,  0.7336, -0.3836, -1.1015]]])

文件

取得 PyTorch 的完整開發人員文件

檢視文件

教學

取得針對初學者和進階開發人員的深入教學

檢視教學

資源

尋找開發資源並取得您問題的解答

檢視資源