python - 如何在 Keras 中设置自适应学习率

标签 python machine-learning keras neural-network

下面是我的代码:

model = Sequential([
    Dense(32, input_shape=(32,), activation = 'relu'),
    Dense(100, activation='relu'),
    Dense(65, input_shape=(65,), activation='softmax')
])

model.summary()
model.compile(SGD(lr=.1), loss='binary_crossentropy', metrics=['accuracy'])
model.fit(train_samples, train_labels, batch_size=1000, epochs=1000,shuffle = True, verbose=2)

如何设置模型的自适应学习率?

最佳答案

您不需要按照其他答案的建议重新编译模型。 Keras 附带可用于此任务的回调。更准确地说,您可以使用 LearningRateScheduler 回调并向其传递一些函数,该函数将根据当前纪元索引调整学习率。

假设您希望学习率是纪元索引的某个数字(可能不是最好的想法,但很容易理解)

def adapt_learning_rate(epoch):
    return 0.001 * epoch

现在我们有了函数,我们可以创建一个学习调度程序,负责计算每个时期开始时的学习率。

my_lr_scheduler = keras.callbacks.LearningRateScheduler(adapt_learning_rate)

最后要做的就是将此回调传递给 fit 方法。

model.fit(X, y, ..., callbacks=[my_lr_scheduler])

关于python - 如何在 Keras 中设置自适应学习率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53479007/

相关文章:

Python beam 搜索生成相同序列的 Keras LSTM 模型

python - iPython :Using Pandas, 如何组合多个文本文件来查找重复出现的用户名?

javascript - OpenCV在python和javascript之间调整了大不相同的结果

machine-learning - word2vec 中互为标量倍数的词向量之间期望的语义关系是什么?

python - 使用 tf.GradientTape 预训练模型进行迁移学习无法收敛

python - 获取 ImportError : libcublas. so.9.0:无法打开共享对象文件:没有这样的文件或目录 - 降级 TF 版本不起作用

python - 如何重新排序 bool 逻辑以更快地短路?

python - 有没有办法在 Bokeh 中为选择字形提供多种颜色?

Tensorflow:如何从训练的模型中预测单个图像?

python - 有没有办法在机器学习中估算缺失值?