使用Keras-tuner创建超参数调整对象并调用search方法,搜索完成后很容易检索到最佳的超参数配置,但是似乎没有任何内置的方法也可以返回相应的验证损失值,并根据这些值进行排名。如何在返回tuner.get_best_hyperparameters(3)方法的同时返回每个试验的验证损失?我希望可以使用回调,但我不确定如何使用回调。根据详细的参数,我可以打印每次试验的结果,但我更愿意使用超参数本身来调用它们。
发布于 2021-04-24 05:10:57
我认为您是对的,在我看来,使用回调是跟踪这些指标的最简单方法。在使用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在notebook中加载tensorboard扩展。然后,运行以下命令:
tensorboard --logdir=path_to_logs --host=localhost
这将显示一个查看每个试验的界面。它将提供有关训练/验证精度和损失的信息,它将提供随时间推移的模型权重信息,甚至包括有关超参数选择的信息。值得一看。
https://stackoverflow.com/questions/67178897
复制相似问题