我有两个矩阵A(Nx100)和B(Mx100)。我想用矩阵B中的每个元素对矩阵A中的每个元素执行一个操作(比如计算欧氏距离)。在正常的numpy中,将使用两个for循环来完成。
目前,我正在使用地图函数tf.map_fn
将矩阵A中的每个元素映射到我执行A[i] - B
的操作,其中A [i]是向量。这是有效的,因为TensorFlow将矢量广播到矩阵的形状中。
我想知道是否有办法让我更轻松地做到这一点。类似于:tf.do_magic( A, B, operation )
?
谢谢!
答案 0 :(得分:1)
Euclidean distance of A and B:
tf.sqrt(tf.reduce_sum(tf.square(tf.expand_dims(A, 1) - B)), 2))