我有一个MxN的表,其中包含两个大小为M <= N的不同点之间的距离。我想通过以下方式找到与第一组M点的第二组中每个点的关联。
假设所有成对距离中最短的是第一个集合的 i 0 点与 j 0 < / em>。然后,将第一个集合的点 i 0 赋予第二个集合的 j 0 。对于第二对,我必须找到 i 1 != i 0 和 j 1 ! = j 0 ,以便在其余未配对点之间的距离最小。
我认为我可以通过使用torch.min
函数来执行第一步,该函数将为我提供最小值以及其在矩阵中的2d索引。但是对于接下来的步骤,我每次都需要在保持其原始索引的同时排除一个colunm。
换句话说,如果我有一个3x4矩阵,而我的第一个元素是(1,2),我想剩下一个索引为0,2
和0,1,3
的2x3矩阵。因此,如果我在原始矩阵中的第二个所需元素位置是(2,3),则我将得到(2,3),这是因为在排除行和列的矩阵上执行torch.max
的结果,超过(1,2)。
P.S。我可以通过用正无穷大替换要排除的行和列中的值来达到我的目标,但是我认为这个问题仍然值得提出。