2017-08-19 24 views
0

我已經嘗試了很多次,並且閱讀了類似於我的問題的答案,但仍然沒有解決。檢查輸入時出錯:期望的acc_input有4個維度,但是獲得了形狀數組(200,3,1)

錯誤檢查時輸入:預期acc_input有4個維度,但得到了陣列狀(200,圖3,1)

model.fit(x=[acc_,gyro_],y=[scaled_labels],batch_size=1,validation_split=0.2, epochs=2,verbose=1,shuffle=False) 

我的網絡的第一層是輸入層

acc_input_tensor = Input(shape=(200,3,1),name = 'acc_input') 
gyro_input_tensor = Input(shape=(200,3,1),name= 'gyro_input') 

輸入是加速度和陀螺儀數據。 200表示200組數據,3表示x,y,z測量值的加速度。我把加速度數據和陀螺儀數據重塑成(200 * 3 * 1)

acc_ = np.reshape(acc,(200,3,1)) 
gyro_ = np.reshape(gyro,(200,3,1)) 

輸入是三維數據,給定的數據輸入是三維的,爲什麼有四維要求?如何修改它?

This is the model I created

回答

0

不知道你使用的是什麼類型的網絡,但input_shape不包括數據的長度。它應該只是這

acc_input_tensor = Input(shape=(3,1),name = 'acc_input') 
gyro_input_tensor = Input(shape=(3,1),name= 'gyro_input') 
+0

謝謝您的回答!我用的加速度數據在一個週期爲輸入(200 * 3),acc_input_tensor =輸入(形狀=(200,3),名稱=「acc_input」 ) gyro_input_tensor =輸入(形狀=(200,3),名稱='gyro_input')這仍然是一個錯誤修改 – xianglala

+0

我正在說話(200 * 3)重塑成(20 * 30 * 1)到卷積層,卷積層需要三維數據 – xianglala

+0

卷積的輸入形狀取決於它們使用的卷積層的類型,但無論如何'shape =()'不會取第一維的大小,只有第二維,第三,第四......等等。 – DJK

相關問題