下文**一下在神經網路中可能會遇到的np.dot(陣列,矩陣)和np.dot(矩陣,陣列)等矩陣與陣列相乘的問題:
import numpy as np
import tensorflow as tf
a = np.array([6,7,8])
b = np.array([[1,2], [3, 4], [5,6]])
print(a.shape)
print(b.shape)
print(np.dot(a,b).shape)
print(np.dot(a,b))
結果:
(3,)
(3, 2)
(2,)
[67 88]
小結:a為3個元素的陣列((2,)表示型別為陣列(注意不是矩陣!),且元素個數為2),b為3x2矩陣,np.dot(a,b)得到的為乙個元素個數為2的陣列。
import numpy as np
import tensorflow as tf
b = np.array([[1,2], [3, 4], [5,6]])
c = np.array([7,8])
print(b.shape,c.shape)
print(np.dot(b,c).shape)
print(np.dot(b,c))
結果:
(3, 2) (2,)
(3,)
[23 53 83]
小結:b為3x2矩陣,c為3個元素的陣列,np.dot(b,c)得到的為乙個元素個數為3的陣列。
結論:
關於陣列的矩陣相乘與翻轉
二維陣列的矩陣輸出和矩陣翻轉的變化 矩陣a和b都是兩行兩列,矩陣相乘時,a的行元素乘以b的列元素,然後相加 下面時乙個手寫圖 include intmain for i 0 i 3 i 輸入行b 進行矩陣的相乘 需要注意的是矩陣的相乘兩個矩陣乙個相同點 例如a矩陣的 列 要和b矩陣的 行 個數相同,...
陣列元素相乘 C 矩陣相乘
矩陣相乘最重要的方法是一般矩陣乘積。它只有在第乙個矩陣的列 column 和第二個矩陣的行數 row 相同時才有意義 一般單指矩陣乘積時,指的便是一般矩陣乘積。乙個m n的矩陣就是m n個數排成m行n列的乙個數陣。由於它把許多資料緊湊的集中到了一起,所以有時候可以簡便地表示一些複雜的模型。運算如下所...
tensorflow中向量與矩陣相乘
tensorflow學習的小白一枚。今天看到tensorflow中矩陣的乘法,看到有帖子說tensorflow中向量不能與矩陣直接相乘,不然會出錯。我就覺得很奇怪,tensorflow這麼流行的庫怎麼會出現這種弱智的問題呢?然後看了幾個帖子,怎麼解決這個問題的,看了半天,覺得太複雜了,並且他們寫錯了...