矩阵乘法区别

@ ,matmul ,dot ,multiply区别

tf.matmul(A,C) = np.dot(A,C) = A@C都属于矩阵乘法,而tf.multiply(A,C)= A*C 或者tf.multiply(A,A)= A**2  均属于对应元素乘法
np.cross为叉乘

元素乘法:np.multiply(a,b)
矩阵乘法:np.dot(a,b) 或np.matmul(a,b) 或 a.dot(b) 或直接用 a @ b !
唯独注意:*,在 np.array 中重载为元素乘法,在 np.matrix 中重载为矩阵乘法!

#对应元素相乘
>>> b=np.asarray([[1,1,3],[1,2,1],[2,2,3]])
>>> print(b**2)
[[1 1 9]
 [1 4 1]
 [4 4 9]]


>>> print(np.multiply(b,b))
[[1 1 9]
 [1 4 1]
 [4 4 9]]


#矩阵乘法
>>> print(np.matmul(b,b))
[[ 8  9 13]
 [ 5  7  8]
 [10 12 17]]

>>> print(np.dot(b,b))
[[ 8  9 13]
 [ 5  7  8]
 [10 12 17]]


>>> print(b@b)
[[ 8  9 13]
 [ 5  7  8]
 [10 12 17]]

















@ matmul dot multiply区别_BLACKVEIL的博客-CSDN博客

Numpy 中的矩阵向量乘法_颹蕭蕭的博客-CSDN博客_numpy向量相乘

你可能感兴趣的:(矩阵,深度学习,tensorflow)