2
我有一個簡單的基於Keras的LSTM模型。如何在基於Keras的LSTM模型的每個時期獲得一層的權重矩陣?
X_train, X_test, Y_train, Y_test = train_test_split(input, labels, test_size=0.2, random_state=i*10)
X_train = X_train.reshape(80,112,12)
X_test = X_test.reshape(20,112,12)
y_train = np.zeros((80,112),dtype='int')
y_test = np.zeros((20,112),dtype='int')
y_train = np.repeat(Y_train,112, axis=1)
y_test = np.repeat(Y_test,112, axis=1)
np.random.seed(1)
# create the model
model = Sequential()
batch_size = 20
model.add(BatchNormalization(input_shape=(112,12), mode = 0, axis = 2))#4
model.add(LSTM(100, return_sequences=False, input_shape=(112,12))) #7
model.add(Dense(112, activation='hard_sigmoid'))#9
model.compile(loss='binary_crossentropy', optimizer='RMSprop', metrics=['binary_accuracy'])#9
model.fit(X_train, y_train, nb_epoch=30)#9
# Final evaluation of the model
scores = model.evaluate(X_test, y_test, batch_size = batch_size, verbose=0)
我知道如何model.get_weights()
得到權重表,但是這就是價值後的模型被充分訓練。我想在每個時代獲得權重矩陣(例如,我的LSTM中的最後一個圖層),而不僅僅是它的最終值。換句話說,我有30個時代,我需要得到30個重量矩陣值。
真的很感謝你們,我沒有找到keras的維基的解決方案。