Tensorflow:如何对矩阵的每个元素执行操作

时间:2016-10-19 11:55:13

标签: python tensorflow

我有两个矩阵A(Nx100)和B(Mx100)。我想用矩阵B中的每个元素对矩阵A中的每个元素执行一个操作(比如计算欧氏距离)。在正常的numpy中,将使用两个for循环来完成。

目前,我正在使用地图函数tf.map_fn将矩阵A中的每个元素映射到我执行A[i] - B的操作,其中A [i]是向量。这是有效的,因为TensorFlow将矢量广播到矩阵的形状中。

我想知道是否有办法让我更轻松地做到这一点。类似于:tf.do_magic( A, B, operation )

谢谢!

1 个答案:

答案 0 :(得分:1)

Euclidean distance of A and B:

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