Shape must be rank 2 but is rank 1 for 'MatMul'


我在做多元線性回歸的時候,在預測數據時遇到的:

這是由於我錄入的數據如:[1,2]  他的shape是[2,],而我在參數(也就是y = w1*x1+w2*x2+b 中的w)用的是placeholder生成,

shape是(2,1)的;所以無法進行矩陣乘法;

 

解決辦法是:

在錄入數據的時候通過data = numpy.array([1,2]) ,這個需要引入numpy包, 然后在通過data.reshape(1,2) 來改變他的形狀,這時候就可以進行矩陣乘法了;

 

代碼如下:

1:對數據進行轉型:

import numpy as np

data = np.array([1,2])

data_real = data.reshape(2,1)

若是參數w也是自己輸入的或者是一個列表或者是數組:也是做同樣的操作

2:然后在做矩陣乘法(我是在tensorflow中)

tf.matmul(data,w)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM