У меня есть два набора n-мерных точек. Эти множества расположены в два тензора, назовите их A и B. Я хочу перебрать точки в A и назначить каждый из них ближайшей точке в B. Однако я хочу сделать это без замены. То есть, как только точка в B назначается точке в A, она недоступна для назначения другой точке в A.
Я хочу реализовать это в TensorFlow. Прямо сейчас, лучшее, что у меня есть, это матрица расстояний (код ниже). Тем не менее, tf.reduce_max( distances , axis=1)
не даст мне того, что я хочу, потому что не будет использовать все точки в A и B (при условии, что A имеет больше точек, чем B), как в предыдущем абзаце.
distances = tf.sqrt(tf.reduce_sum((A[:,np.newaxis] - B)**2, axis=2))