使用keras加载模型并为其参数分配新值 [英] Using keras to load model and assign new values to its parameters

查看:167
本文介绍了使用keras加载模型并为其参数分配新值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用keras来存储模型,然后将其加载以进行重新训练.我的问题是在加载模型时如何将学习率设置为新值?
这是我的代码:

I am trying to use keras to store a model and then load it to retrain. My question is how do I set the learning rate to a new value when loading a model?
Here are my code:

# Save a model
model = Sequential()
model.add(Dense(64, kernel_initializer='uniform', input_shape=(10,)))
model.add(Activation('tanh'))
model.add(Activation('softmax'))
# learning rate is 0.001
sgd = optimizers.SGD(lr=0.001, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)
model.fit_generator(...)
model.save()

然后加载模型

model = load_model(model)
# Change the model's parameters here. Set the learning rate to 0.01.
model.fit_generator(...)

谢谢.

推荐答案

我想我找到了答案:

from keras import backend as K
# To get learning rate
print(K.get_value(model.optimizer.lr))
# To set learning rate
K.set_value(model.optimizer.lr, 0.001)
keras.__version__ # 2.0.2

这篇关于使用keras加载模型并为其参数分配新值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆