I’m using the following code to retrieve the nearest matching descriptors index and value.

def approx(self, db_desc, query_desc, n_neighbors):
    db_features = __to_unit_torch__(db_desc, cuda="cuda")
    query__desc = __to_unit_torch__(query_desc, cuda="cuda")
    with torch.no_grad():
        d = 1. - torch.matmul(db_features, query__desc.transpose(0,1))
        values, indices = torch.topk(d, n_neighbors, dim=1, largest=False, sorted=True)
        return indices.cpu().numpy()


why is that it always returns 0?