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])