[英]Keras training accuracy only changing a bit, and after a few epochs it is always the same
[英]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.