使用keras時出現:ValueError: Error when checking target: expected conv1d_15 to have 3 dimensions, but got

在復現一篇文獻中,關於軸承故障診斷,採集的資料均是基於時間序列的一維振動訊號,但是需要將預處理好的資料輸入到Conv1D中

  • 輸入訓練資料直接為大小為(845,1024),在Conv1D的(input_shape不知道該輸入什麼好了),當時直接把上述資料輸入了進去,因為查了原始碼上介紹到,如下,不出意料的出錯了
  • 解決辦法如下:

  1. 經過標準化輸入
1
x_train_ss = (845,1024)  #845個1024長度的故障資料

重要來了,需要轉變形狀如下

1
2
3
x_train = x_train_ss.reshape(-1,#代表範例個數
                             1024,
                             1)#通道

同理,x_test_ss也需要如上轉換

  1. 第二步修改第一次輸入的Conv1d()
1
model.add(Convolution1D(input_shape=(1024,1))
  1. ok,應該不會再報錯了