python中矩陣與陣列相乘的問題

2021-09-12 01:27:28 字數 854 閱讀 9272

下文**一下在神經網路中可能會遇到的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這麼流行的庫怎麼會出現這種弱智的問題呢?然後看了幾個帖子,怎麼解決這個問題的,看了半天,覺得太複雜了,並且他們寫錯了...