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