簡體   English   中英

Keras:如果我在訓練幾個 epoch 后重新編譯我的 model 會怎樣

[英]Keras: What if i recompile my model after training few epochs

我有一個 model,我想用 learning_rate = 0.8 訓練它幾個時期,然后設置學習率 = 0.4 並繼續訓練。 但是由於在編譯時設置了學習率 model... 那么如果我在幾個時期后重新編譯它,模型/權重會發生什么?

下面是我的代碼:PS(我的學習率是動態的)

lr = 0.04
adam = Adam(lr=lr)
weight_factor = 10
models.compile(
    optimizer=adam,
"kullback_leibler_divergence"
    loss = {'W1':kl_divergence,'age':mae},
    metrics={"age": mae,"W1":'accuracy'},
    loss_weights={'W1':weight_factor, 'age': 1}
)

動態學習率回調

callbacks = [
  ReduceLROnPlateau(monitor='val_age_mean_absolute_error', 
                    factor = 0.5, 
                    patience = 7,
                    min_delta = 0.01, 
                    cooldown = 2,
                    min_lr = 0.0001,
                    mode = 'min')
]

訓練

epochs=35
history = models.fit(train_gen, steps_per_epoch=len(trainset) / batch_size, epochs=epochs, callbacks=callbacks, validation_data=validation_gen, validation_steps=len(testset) / batch_size * 3)

當您重新編譯 model 時,您的權重將重置為隨機。

所以你應該使用model.save_weights('weights.h5')保存權重然后編譯 model,然后加載權重model.load_weights('weights.h5')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM