是否有有效地将两个矩阵相减并返回张量的函数?

时间:2019-07-12 13:19:37

标签: performance pytorch

我想在pytorch中有效地重新实现OpenCV BruteForce Matcher。这意味着我得到了两个包含特征描述符的矩阵,并且我必须计算它们之间的距离。 目前我是这样的:

m, n, d = 10000, 1000, 2
x = torch.Tensor(size=(m, d))
y = torch.Tensor(size=(n, d))
dist = torch.sum(torch.stack([x-y_i for y_i in y]), (2,)) ##slow
dist = dist.numpy()
matches = np.argsort(dist)[:,:2]
good_matches = []
for i, (a, b) in enumerate(matches):
    if dist[i,b] > ratio*dist[i, a]:
        good_matches.append([i,a])
return good_matches

是否有任何操作可以加快速度? pytorch多处理是一种好方法吗?

0 个答案:

没有答案