gpt4 book ai didi

python - Numpy 3d 数组矩阵乘法函数

转载 作者:太空宇宙 更新时间:2023-11-04 05:28:59 26 4
gpt4 key购买 nike

假设我有一个 ndarray,形状为 (m,n,n) 的 W 和一个维度为 (m,n) 的向量 C。我需要按以下方式将这两个相乘

result = np.empty(m,n)
for i in range(m):
result[i] = W[i] @ C[i]

我如何在没有循环的情况下以矢量化的方式做到这一点?

最佳答案

因为,您需要保持 WC 的第一个轴对齐,同时通过矩阵乘法失去它们的最后一个轴,我建议使用np.einsum对于一个非常有效的方法,就像这样 -

np.einsum('ijk,ik->ij',W,C)

np.tensordotnp.dot 没有保持轴对齐的功能,而这正是 np.einsum 改进的地方。

关于python - Numpy 3d 数组矩阵乘法函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37738401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com