【发布时间】:2020-07-01 16:54:27
【问题描述】:
我有一个形状为 m x n 的矩阵 A 和另一个形状为 k x n 的较小矩阵 B。我想计算 A 行和 B 行之间的欧式距离,生成形状为 m x k 的矩阵 C。我已经有一个函数dist(row1, row2)。使用循环这很简单,但是在 NumPy 中是否有一种矢量化的方式来做到这一点?
我相信我想要的可以转换为自定义矩阵乘法运算(如果我转置 B),并且this question 似乎朝着同一个方向前进,但最好的答案是重新排列操作以实现矢量化(我想使用我的单独函数dist(row1, row2))。第二个答案使用了一个单独的函数,但它也使用了循环。
【问题讨论】:
-
您好,能否请您包含当前使用的代码以及每个矩阵的几个示例行?
-
@Guglie:谢谢,但我一直在寻找更具可读性的解决方案。
einsum看起来像黑魔法。如果这是唯一的解决方案,我宁愿在我的情况下使用循环。 -
我猜你想做这样的事情? stackoverflow.com/a/42994680/4045774