基於LSTM的軸承故障診斷

2021-09-23 07:41:36 字數 1232 閱讀 5631

有一段時間沒有更新部落格了,今天寫一篇以前研究的lstm應用於軸承故障診斷

資料集**與處理方式與這篇文章裡相同

模型結構很簡單

def create_model():

model = sequential()

#輸入資料的shape為(n_samples, timestamps, features)

#隱藏層設定為20, input_shape元組第二個引數1意指features為1

model.add(lstm(units=20,input_shape=(train_x.shape[1], train_x.shape[2])))

#model.add(dropout(0.2))

#後接全連線層,直接輸出單個值,故units為10

model.add(dense(units=10))

model.add(activation('softmax'))#選用非線性啟用函式

model.compile(loss='categorical_crossentropy',optimizer=adam(lr=0.001), metrics=['accuracy'])#損失函式為平均均方誤差,優化器為adam,學習率為0.001

return model

訓練模型並驗證

model = create_model()

history =model.fit(train_x, train_y, epochs=1000, batch_size=100, validation_data=(test_x,test_y))#訓練模型並進行測試

後10次迭代驗證準確率為:

[0.9733333388964335, 0.9466666777928671, 0.9333333373069763, 0.9900000095367432, 0.9933333396911621, 0.9900000095367432, 0.9733333388964335, 0.9900000095367432, 0.9900000095367432, 0.996666669845581]
history訓練和驗證準確率曲線為:

history訓練和驗證loss曲線為:

由曲線可以看出用lstm做故障診斷,很不穩定,但是經過一定次數的迭代後在某次迭代後還是可以達到很好的效果。

我在研究的過程中經過多次的引數調整,lstm準確率始終無法達到穩定,感興趣的朋友可以**一下

主機板故障診斷卡

02 確定診斷的型別 正常或者製造 如果鍵盤緩衝器含有資料就會失效。停用不可遮蔽中斷 通過延遲開始。cmos寫入 讀出正在進行或者失靈。處理方法 主機板中鍵盤相關電路及鍵盤本身 03 清除8042鍵盤控制器,發出testkbrd命令 aah 通電延遲已完成。rom bios檢查部件正在進行或失靈。處...

氧感測故障診斷

故障 說明 上游加熱型氧感測器用於修正燃油控制,感測器將環境空氣中的氧含量與排氣流中的氧含量進行比較,每個加熱型氧感測器內都有給感測器加熱的加熱元件。發動機控制模組控制加熱型氧感測器的加熱控制電路,這就使得系統能更早地進入閉環模式,讓感測器更早計算空燃比。發動機控制模組指令加熱元件接通或關閉,使加熱...

網路故障診斷概述

網路故障診斷概述 網路故障診斷應該實現三方面的目的 確定網路的故障點,恢復網路的正常執行 發現網路規劃和配置中欠佳之處,改善和優化網路的效能 觀察網路的執行狀況,及時 網路通訊質量。網路故障診斷以網路原理 網路配置和網路執行的知識為基礎。從故障現象出發,以網路診斷工具為手段獲取診斷資訊,確定網路故障...