捷徑

torch.tril_indices

torch.tril_indices(row, col, offset=0, *, dtype=torch.long, device='cpu', layout=torch.strided) Tensor

傳回一個 2-by-N Tensor,其中包含一個 row-by- col 矩陣之下三角部分的索引。Tensor 的第一列包含所有索引的列坐標,第二列包含行坐標。索引的排序方式是先依照列,再依照行。

矩陣的下三角部分定義為對角線及其下方的元素。

參數 offset 控制要考慮哪一條對角線。如果 offset = 0,則保留主對角線及其下方的所有元素。正值會包含主對角線上方相同數量的對角線,類似地,負值會排除主對角線下方相同數量的對角線。主對角線是索引的集合 {(i,i)}\lbrace (i, i) \rbrace 對於 i[0,min{d1,d2}1]i \in [0, \min\{d_{1}, d_{2}\} - 1] 其中 d1,d2d_{1}, d_{2} 是矩陣的維度。

注意

在 CUDA 上運行時, row * col 必須小於 2592^{59},以防止計算期間發生溢位。

參數
  • row (int) – 2-D 矩陣中的列數。

  • col (int) – 2-D 矩陣中的行數。

  • offset (int) – 距離主對角線的對角線偏移量。預設值:如果未提供,則為 0。

關鍵字參數
  • dtype (torch.dtype, optional) – 傳回 tensor 的期望資料類型。預設值:如果 None,則為 torch.long

  • device (torch.device, optional) – 傳回 tensor 的期望裝置。預設值:如果 None,則使用預設 tensor 類型的目前裝置 (請參閱 torch.set_default_device())。 device 對於 CPU tensor 類型將為 CPU,對於 CUDA tensor 類型將為目前的 CUDA 裝置。

  • layout (torch.layout, optional) – 目前僅支援 torch.strided

範例

>>> a = torch.tril_indices(3, 3)
>>> a
tensor([[0, 1, 1, 2, 2, 2],
        [0, 0, 1, 0, 1, 2]])

>>> a = torch.tril_indices(4, 3, -1)
>>> a
tensor([[1, 2, 2, 3, 3, 3],
        [0, 0, 1, 0, 1, 2]])

>>> a = torch.tril_indices(4, 3, 1)
>>> a
tensor([[0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3],
        [0, 1, 0, 1, 2, 0, 1, 2, 0, 1, 2]])

文件

取得 PyTorch 的完整開發者文件

檢視文件

教學

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

檢視教學

資源

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

檢視資源