2016-10-19 3 views
1

У меня две матрицы A (Nx100) и B (Mx100). Я хочу выполнить операцию (например, вычислить эвклидово расстояние) для каждого элемента в матрице A с каждым элементом в матрице B. В обычном numpy, который будет выполняться с использованием двух для циклов.Tensorflow: как выполнить операцию над каждым элементом матрицы

В настоящее время я использую функцию карты tf.map_fn для сопоставления каждого элемента в матрице A с операцией, где я делаю A[i] - B, где A [i] - вектор. Это работает, потому что TensorFlow передает вектор в форму матрицы.

Мне было интересно, если есть способ, я могу сделать это более легко. Что-то вроде: tf.do_magic(A, B, operation)?

Спасибо!

ответ

1

евклидово расстояние А и В:

tf.sqrt(tf.reduce_sum(tf.square(tf.expand_dims(A, 1) - B)), 2)) 
+0

Спасибо! Это сработало! – arch3r

Смежные вопросы