torch.unique_consecutive¶
- torch.unique_consecutive(*args, **kwargs)[來源]¶
從每個連續的等效元素群組中消除除第一個元素之外的所有元素。
注意
此函數與
torch.unique()
的不同之處在於,此函數僅消除連續的重複值。此語意類似於 C++ 中的 std::unique。- 參數
- 回傳值
一個張量或張量元組,包含:
output (Tensor): 唯一純量元素的輸出列表。
inverse_indices (Tensor): (可選) 如果
return_inverse
為 True,則會額外回傳一個張量(與輸入形狀相同),表示原始輸入中元素對應到輸出中的索引;否則,此函數只會回傳單一個張量。counts (Tensor): (可選) 如果
return_counts
為 True,則會額外回傳一個張量(與輸出形狀相同,如果指定了 dim,則與 output.size(dim) 相同),表示每個唯一值或張量的出現次數。
- 回傳類型
範例
>>> 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])