У меня есть проект классификации knn, который должен вычислить евклидово расстояние с тензорным потоком для сравнения.
Исходный код без тензорного потока выглядит так:
def euclidean_distance(self,x1, x2):
distance = 0.0
for i in range(len(x1)):
distance += pow( x1[i] - x2[i], 2)
print(distance)
return math.sqrt(distance)
а с тензорным потоком так:
distance = 0.0
for i in range(len(x1)):
distance = tf.negative(tf.sqrt(tf.reduce_sum(tf.square(tf.subtract(x1, x2)))))
return distance
Это правильно? Из-за этого кода расстояние стало тензором, и мне нужен метод для преобразования этого тензора в нормальную матрицу.
Любая помощь приветствуется, спасибо!