捷徑

torch.unique_consecutive

torch.unique_consecutive(*args, **kwargs)[來源]

從每個連續的等效元素群組中消除除第一個元素之外的所有元素。

注意

此函數與 torch.unique() 的不同之處在於,此函數僅消除連續的重複值。此語意類似於 C++ 中的 std::unique

參數
  • input (Tensor) – 輸入張量

  • return_inverse (bool) – 是否同時回傳索引,該索引表示原始輸入中的元素在回傳的唯一列表中所對應的位置。

  • return_counts (bool) – 是否同時回傳每個唯一元素的計數。

  • dim (int) – 應用 unique 的維度。如果為 None,則回傳扁平化輸入的 unique 值。預設值: None

回傳值

一個張量或張量元組,包含:

  • output (Tensor): 唯一純量元素的輸出列表。

  • inverse_indices (Tensor): (可選) 如果 return_inverse 為 True,則會額外回傳一個張量(與輸入形狀相同),表示原始輸入中元素對應到輸出中的索引;否則,此函數只會回傳單一個張量。

  • counts (Tensor): (可選) 如果 return_counts 為 True,則會額外回傳一個張量(與輸出形狀相同,如果指定了 dim,則與 output.size(dim) 相同),表示每個唯一值或張量的出現次數。

回傳類型

(Tensor, Tensor (可選), Tensor (可選))

範例

>>> x = torch.tensor([1, 1, 2, 2, 3, 1, 1, 2])
>>> output = torch.unique_consecutive(x)
>>> output
tensor([1, 2, 3, 1, 2])

>>> output, inverse_indices = torch.unique_consecutive(x, return_inverse=True)
>>> output
tensor([1, 2, 3, 1, 2])
>>> inverse_indices
tensor([0, 0, 1, 1, 2, 3, 3, 4])

>>> output, counts = torch.unique_consecutive(x, return_counts=True)
>>> output
tensor([1, 2, 3, 1, 2])
>>> counts
tensor([2, 2, 1, 2, 1])

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學

取得初學者和進階開發人員的深度教學

檢視教學

資源

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

檢視資源