[英]Optimizing epochs in Keras model with GridSearchCV
我看过各种帖子/指南以及 Udemy 课程,建议通过GridSearchCV优化用于训练 Keras 模型的时期数是一个好主意。
也就是说,如果您使用 GridSearchCV 训练模型,则该方法不会考虑这一点,它仅在比较不同模型时考虑最后一个时期。 当您对 200 和 400 个 epoch 进行 GridSearchCV 时,它会训练一个 200 个 epoch 的模型,然后从头开始训练 400 个 epoch。
因此,正如我所见,使用 GridSearchCV 来优化您的时代数:
我的问题是:
谢谢你。
查看 EarlyStopping Keras 回调。 当参数化指标在 epoch 中没有改进时,提前停止回调会停止训练,并始终返回最大化所选指标的模型。 此外,根据您的用例,耐心 kwarg 应该很有用。
在此处查看文档: https : //keras.io/callbacks/
要找到最佳超参数,请检查 Keras 调谐器: https : //github.com/keras-team/keras-tuner
您甚至可以结合使用Keras Tuner和提前停止回调,这样您就可以同时优化多个超参数。
在定义调谐器搜索功能时,您可以添加回调:
import tensorflow as tf
tuner.search(
train_data,
validation_data=validation_data,
epochs=number_of_epochs,
callbacks=[tf.keras.callbacks.EarlyStopping(patience=1)]
)
使用 Keras Tuner,您有不同的选项来选择 Tuner。
库文档有示例,或者您也可以查看有关如何使用 Keras Tuner 进行超参数调整的教程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.