第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Keras,在每個時期獲得一層的輸出

Keras,在每個時期獲得一層的輸出

慕無忌1623718 2021-07-23 18:06:26
我做了什么?我實(shí)現(xiàn)了一個keras模型如下:train_X, test_X, train_Y, test_Y = train_test_split(X, Y, test_size=0.2, random_state=np.random.seed(7), shuffle=True)train_X = np.reshape(train_X, (train_X.shape[0], 1, train_X.shape[1]))test_X = np.reshape(test_X, (test_X.shape[0], 1, test_X.shape[1]))model = Sequential()model.add(LSTM(100, return_sequences=False, input_shape=(train_X.shape[1], train_X.shape[2])))model.add(Dense(train_Y.shape[1], activation='softmax'))model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])model.fit(train_X, train_Y, validation_split=.20,                        epochs=1000, batch_size=50)我想要的是?我想給出support vector machine(SVM)倒數(shù)第二層 (LSTM) 的輸出,在任何epoch(即 1000)層中svm也要進(jìn)行訓(xùn)練。但我不知道如何做到這一點(diǎn)?任何的想法?更新:我使用ModelCheckpoint如下:model = Sequential()model.add(LSTM(100, return_sequences=False, input_shape=(train_X.shape[1], train_X.shape[2])))model.add(Dense(train_Y.shape[1], activation='softmax'))model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])# checkpointfilepath="weights-{epoch:02d}-{val_acc:.2f}.hdf5"checkpoint = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=True, mode='max')callbacks_list = [checkpoint]model.fit(train_X, train_Y, validation_split=.20,                    epochs=1000, batch_size=50, callbacks=callbacks_list, verbose=0)輸出:Epoch 00991: val_acc did not improveEpoch 00992: val_acc improved from 0.93465 to 0.93900, saving model to weights-992-0.94.hdf5Epoch 00993: val_acc did not improveEpoch 00994: val_acc did not improveEpoch 00995: val_acc did not improveEpoch 00996: val_acc did not improveEpoch 00997: val_acc did not improveEpoch 00998: val_acc improved from 0.93900 to 0.94543, saving model to weights-998-0.94.hdf5Epoch 00999: val_acc did not improve問題:如@IonicSolutions 所說,如何加載所有這些模型以獲得每個時期中 LSTM 層的輸出?
查看完整描述

2 回答

?
慕哥9229398

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個贊

在您的情況下最有效的方法取決于您如何準(zhǔn)確設(shè)置和訓(xùn)練 SVM,但使用回調(diào)至少有兩個選項:


您可以使用ModelCheckpoint回調(diào)來保存您在每個時期訓(xùn)練的模型的副本,然后加載所有這些模型以獲得 LSTM 層的輸出。


您還可以通過實(shí)現(xiàn)Callback基類來創(chuàng)建自己的回調(diào)。在回調(diào)中,可以訪問模型,您可以使用on_epoch_end它在每個時期結(jié)束時提取 LSTM 輸出。


編輯:要方便地訪問倒數(shù)第二層,您可以執(zhí)行以下操作:


# Create the model with the functional API

inp = Input((train_X.shape[1], train_X.shape[2],))

lstm = LSTM(100, return_sequences=False)(inp)

dense = Dense(train_Y.shape[1], activation='softmax')(lstm)


# Create the full model

model = Model(inputs=inp, outputs=dense)


# Create the model for access to the LSTM layer

access = Model(inputs=inp, outputs=lstm)

然后,您可以access在實(shí)例化它時傳遞給您的回調(diào)。最關(guān)鍵的事情,這里要注意的是,model與access共享同樣的LSTM層,它們的權(quán)重會發(fā)生變化時訓(xùn)練model。


查看完整回答
反對 回復(fù) 2021-07-28
  • 2 回答
  • 0 關(guān)注
  • 216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號