keras以不同的学习率恢复训练

时间:2017-12-27 15:24:53

标签: tensorflow machine-learning deep-learning keras

我使用keras构建了一个简单的LSTM模型,并按如下方式进行了培训:

model = Sequential()
model.add(LSTM(activation='tanh',input_dim=6,output_dim=50,return_sequences=False))
model.add(Dense(output_dim=1,activation = 'sigmoid'))
model.compile(loss='binary_crossentropy', optimizer =optimizers.Adam(lr = 0.01),metrics=['accuracy'])
model.fit(X_train,y_train,batch_size=256,nb_epoch=1000,validation_data = (X_test,y_test))
model.save('model_params.h5')

该模型几乎融合。因此,我想通过使用较小的学习率(即0.001)恢复训练来微调模型。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

您只需要再次编译模型:

model.compile(loss='binary_crossentropy',
              optimizer= optimizers.Adam(lr=0.001),...)

但通常,Adam是一个非常好的优化器,不需要这些更改。它单独找到它的方式是正常的。

当您使用新的优化器进行编译时,训练分歧是很正常的。在优化器自行调整之前需要几个时期。