优化器是keras在模型编译时需要的参数之一,其决定采用何种方法来训练模型。优化器的两种用法:
1、实例化优化器对象,然后传入model.compile()。实例化的优化器对象可以指定参数。
from keras import optimizers
model = Sequential()
model.add(Dense(64, kernel_initializer='uniform', input_shape=(10,)))
model.add(Activation('tanh'))
model.add(Activation('softmax'))
sgd = optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)
2、在model.compile()中通过名称调用优化器,此时优化器采用默认的参数。
可以在调用model.compile()之前初始化一个优化器对象,然后传入该函数(如上所示),也可以在调用model.compile()时传递一个预定义优化器名。在后者情形下,优化器的参数将使用默认值。