我有维度line.ljust(30, " ")
的矩阵A和维度500x2000x30
的矩阵B.
您可以认为有{500}个30x5
个实例,因为矩阵A的维度为2000x30
。
我想将A中500x2000x30
的每一个乘以矩阵B,以获得大小为1x2000x30
的新矩阵。
即。 1x2000x5
应该为我提供一个维度A X B
显然,通过矩阵A循环500次是一种解决方案,但有没有一种有效的方法来实现这一目标?
编辑:A和B都是numpy数组
答案 0 :(得分:3)
如果你有numpy
个数组,可以使用np.dot
函数:
np.dot(A, B)
它会完全按照你想要的方式行事,即A
B
的第一轴与 dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])
的第一轴“合约”:
对于2-D阵列,它相当于矩阵乘法,对于1-D阵列相当于向量的内积(没有复共轭)。对于N维,它是a的最后一个轴上的和积,b是倒数第二个:
const bitmap = await q.nfcall(fs.readFile,req.file.path); //remove the temp image fs.unlink(req.file.path); const buffer = new Buffer(bitmap).toString('base64'); app.models.predict('APP_KEY', buffer);