删除 torch.tensor 中的重复行

Are*_*Tor 4 python unique duplicates python-3.x pytorch

我有一个torch.tensor形状(n,m),我想删除重复的行(或至少找到它们)。例如:

t1 = torch.tensor([[1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6]])
t2 = remove_duplicates(t1)
Run Code Online (Sandbox Code Playgroud)

t2现在应该等于tensor([[1, 2, 3], [4, 5, 6]]),即行13被删除。您知道执行此操作的方法吗?

我想做点什么,torch.unique但我不知道该怎么做。

Ero*_*nho 8

您可以简单地利用 torch.unique 的参数 dim 。

t1 = torch.tensor([[1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6], [7, 8, 9]])
torch.unique(t1, dim=0)
Run Code Online (Sandbox Code Playgroud)

这样你就得到了你想要的结果:

tensor([[1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]])
Run Code Online (Sandbox Code Playgroud)

在这里您可以阅读该参数的含义。