首页 > 解决方案 > 完全向量化切片矩阵乘法

问题描述

我分别有一个 128X3X3 和一个 128X3X5 3D NumPy 矩阵 A 和 B 我想将 A 的每个 3by3 切片乘以 B 的每个 3by5 切片,最终得到一个尺寸为 128X3X5 的矩阵 C。所有这些肯定都必须完全矢量化,并且不会出现循环。谢谢!

标签: pythonnumpymatrix-multiplication

解决方案


看起来你想要矩阵乘积(因为你不能直接乘以不同形状的矩阵,按照你的说法)。所以你可以使用@运算符:

A@B

或与np.matmul

np.matmul(A, B)

查看:

A = np.random.random((128, 3, 3))
B = np.random.random((128, 3, 5))

(A@B).shape
#(128, 3, 5)

推荐阅读