torch.functional.unique_consecutive#
- torch.functional.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])