0

使用 Keras-tuner 创建超参数调整对象并调用搜索方法,一旦搜索完成,很容易检索到最佳超参数配置,但是似乎没有任何内置方法也可以返回相应的验证损失他们排名的价值。如何将每个试验的验证损失与 tuner.get_best_hyperparameters(3) 方法一起返回?我希望使用回调可能是可能的,但我不确定如何。根据详细的参数,我可以打印每个试验的结果,但我宁愿能够使用超参数本身调用它们。

4

1 回答 1

0

我认为您是对的,在我看来,使用回调是跟踪这些指标的最简单方法。使用 keras-tuner 时我最喜欢使用的是 Tensorboard。这是一种跟踪每次试验并在出色界面中查看数据的简便方法。

为此:使用如下语句定义回调:
tensorboard = TensorBoard(log_dir=path_to_logs, histogram_freq=1, embeddings_freq=1, write_graph=True, update_freq='batch')

然后,在您的 tuner.search() 调用中,使用以下参数指定您的回调:
callbacks=[tensorboard],

请注意,您将事件(回调)保存在日志目录中,您可以从那里引用它。您可以在命令行中导航到它,也可以使用%load_ext tensorboard. 然后,运行以下命令:
tensorboard --logdir=path_to_logs --host=localhost

然后这将显示一个界面来查看每个试验。它将包含有关训练/验证准确性和损失的信息,它将提供有关模型权重随时间变化的信息,甚至包括有关超参数选择的信息。值得一看。

于 2021-04-23T21:10:57.247 回答