[英]Batch dot product with numpy?
我需要用一個向量獲得許多向量的點積。 示例代碼:
a = np.array([0, 1, 2])
b = np.array([
[0, 1, 2],
[4, 5, 6],
[-1, 0, 1],
[-3, -2, 1]
])
我想得到b
的每一行相對於a
的點積。 我可以迭代:
result = []
for row in b:
result.append(np.dot(row, a))
print(result)
這使:
[5, 17, 2, 0]
我如何不進行迭代就得到它? 謝謝!
我會做@
b@a
Out[108]: array([ 5, 17, 2, 0])
使用不帶for
循環的numpy.dot
或numpy.matmul
:
import numpy as np
np.matmul(b, a)
# or
np.dot(b, a)
輸出:
array([ 5, 17, 2, 0])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.