Keras中堆疊新增GRU

2021-10-23 08:06:14 字數 843 閱讀 1358

from keras.layers import lstm, gru
是的,這兩模型可以同時引入。

model = sequential()

model.add(gru(100,dropout=0.2,recurrent_dropout=0.2,return_sequences=true,input_shape=(train_x.shape[1],train_x.shape[2])))

model.add(gru(50,dropout=0.2,recurrent_dropout=0.2,return_sequences=true))

model.add(gru(50,activation='relu'))

model.add(dense(1,activation='sigmoid'))

model.compile(loss='mae',optimizer='adam')

history = model.fit(train_x,train_y,epochs=100, batch_size=50,validation_data=(test_x,test_y),verbose=2,shuffle=false)

說到這個model.fit實際上是對訓練資料的回歸。validation_data用來在每個epoch之後驗證一次驗證集,以及早發現過擬合等問題。但是也有人不主張使用validation_data這個引數,而是用validation_split引數來代替。

最後,使用rmse對模型進行評價

print(sqrt(mean_squared_error(real_y, test_y)))

keras中新增正則化

正則項在優化過程中層的引數或層的啟用值新增懲罰項,這些懲罰項將與損失函式一起作為網路的最終優化目標 懲罰項基於層進行懲罰,目前懲罰項的介面與層有關,但dense,conv1d,conv2d,conv3d具有共同的介面。這些層有三個關鍵字引數以施加正則項 from keras import regul...

keras 上新增 roc auc指標

keras 輸出roc指標,不能每個batch輸出一次,需要全部計算完再一次計算一次。使用sklearn中的metrics roc來計算。幾個帖子類似 class roc callback keras.callbacks.callback def init self,training data,va...

Keras 新增自定義Losses

有時候,我們需要往模型裡面新增一些自定義的loss。這些自定義的loss主要分為兩大類 loss是基於樣本的正確標籤 yre aly yr eal 和 的logit ypr edy yp red 計算得到。這種loss主要集中在對分類損失的改進上,例如focal loss等。loss需要模型的中間層...