UnsuperPoint_PyTorch
UnsuperPoint_PyTorch copied to clipboard
A pytorch version unsuper point
Hello! Thanks for your work.But I meet some problems when I get my training results that the descriptors appear negative numbers in some output channels. It seems that they affect...
correctness = 0.72 repeat= 0.62
idx = torch.argsort(position) position[idx] is sorted position from small to large from 0 to 1, idx_f = torch.arange(p).float().to(self.device) is 0 to p uni_l2 = torch.mean(torch.pow(position[idx] - (idx_f / p), 2))...
uni_loss
 阅读您的代码,我发现您的uni_xy_loss的实现有一些问题,argsort不是说某个数值对应的是排序后的第几个。 举个例子 ,如果position 是 [0.1, 0.5, 0.3, 0.2, 0.4],那argsort的结果是 [0., 3., 2., 4., 1] ,而实际上您想要的是[0,4,2,1,3],这是不同的。正确的实现可以类似于一下: target_distribution = t.arange(position.shape[0]).type_as(rela_a) / (position.shape[0] - 1) position = t.sort(position)[0] uni_loss = t.sum((a -...
Hello, I wonder which version of pytorch are you using? When I run train.py in pytorch1.5.0, I got the following error: 
请问训练完之后是如何评估模型性能指标的,比如说descriptor指标
c = p_a.shape[0] reshape_pa = p_a.reshape((c, -1)).permute(1, 0) # c h w -> c p reshape_pb = p_b.reshape((c, -1)).permute(1, 0) 在网络中p_a的维度不应该是(N,C,W,H)么,这里直接做c=p_a.shape感觉有些不太对呀