我有一个形状为(32,3,5,5)的多维数组a
和一个形状为(32,)的数组v
。除了使用for循环,如何使用numpy将(i,3,5,5)与(i,)相乘并对每个i进行操作?
我有一个形状为(32,3,5,5)的多维数组a
和一个形状为(32,)的数组v
。除了使用for循环,如何使用numpy将(i,3,5,5)与(i,)相乘并对每个i进行操作?
假设有两个数组a
和v
,有几种方法可以推荐:
a*v[:,None,None,None]
a*v.reshape(-1, *[1]*3)
(a.T * v).T
np.einsum('i...,i->i...', a, v)