У меня есть тензор Pytorch:
Z = np.random.rand(100,2)
tZ = autograd.Variable(torch.cuda.FloatTensor(Z), requires_grad=True)
и массив индексов:
idx = (np.array([0, 0, 0, 4, 3, 8], dtype="int64"),
np.array([0, 1, 2, 3, 7, 4], dtype="int64"))
Мне нужно найти расстояния всех пар точек в моем тензоре tZ, используямассив idx в качестве индексов.
Прямо сейчас я делаю это с помощью numpy, но было бы неплохо, если бы все это можно было сделать с помощью факела
dist = np.linalg.norm(tZ.cpu().data.numpy()[idx[0]]-tZ.cpu().data.numpy()[idx[1]], axis=1)
Если кто-нибудь знает способ сделать это с помощью pytorch, чтобы ускоритьэто было бы здорово помочь!