1
我正試圖在PyTorch張量中找到不同的值。
有沒有一些有效的方法來複制Tensorflow的unique op?PyTorch中的唯一張量值
我正試圖在PyTorch張量中找到不同的值。
有沒有一些有效的方法來複制Tensorflow的unique op?PyTorch中的唯一張量值
要做到這一點的最好方法(最簡單的方法)將轉換爲numpy並使用numpy的內置unique
函數。像這樣。
def unique(tensor1d):
t, idx = np.unique(tensor1d.numpy(), return_inverse=True)
return torch.from_numpy(t), torch.from_numpy(idx)
所以,當你試試吧:
t, idx = unique(torch.LongTensor([1, 1, 2, 4, 4, 4, 7, 8, 8]))
# t --> [1, 2, 4, 7, 8]
# idx --> [0, 0, 1, 2, 2, 2, 3, 4, 4]
我認爲這會起作用,但我寧願避免使用裸體操作,因爲它可能需要太多時間。 無論如何,我認爲這是目前唯一的解決方案,謝謝。 – arosa
只是以供將來參考 - 有這個功能請求上pytorch的github上,在這裏:https://github.com/pytorch/pytorch/issues/2031 – cleros