我有两个矩阵 A (Nx100) 和 B (Mx100)。我想对矩阵 A 中的每个元素与矩阵 B 中的每个元素执行一个操作(例如计算欧几里德距离)。在正常的 numpy 中,这将使用两个 for 循环来完成。
目前,我使用映射函数tf.map_fn
将矩阵A中的每个元素映射到我执行A[i] - B
的操作,其中A[i] 是一个向量。这是可行的,因为 TensorFlow 将向量广播为矩阵的形状。
我想知道是否有一种方法可以更轻松地做到这一点。类似于:tf.do_magic(A, B, 操作)
?
谢谢!
最佳答案
A 和 B 的欧氏距离:
tf.sqrt(tf.reduce_sum(tf.square(tf.expand_dims(A, 1) - B)), 2))
关于python - Tensorflow:如何对矩阵的每个元素执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40137402/