Trains 会自动记录 Tensorboard HParams 吗?

Posted

技术标签:

【中文标题】Trains 会自动记录 Tensorboard HParams 吗?【英文标题】:Will Trains automagically log Tensorboard HParams? 【发布时间】:2020-12-14 13:58:08 【问题描述】:

我知道可以将超参数作为字典发送到 Trains。

但它也可以自动记录使用 TF2 HParams 模块记录的超参数吗?

编辑:这是在HParams tutorial 中使用hp.hparams(hparams) 完成的。

【问题讨论】:

【参考方案1】:

免责声明:我是 allegro.ai 火车团队的一员

从抓屏来看,似乎多次运行不同的超参数,并显示一个平行坐标图。 这相当于使用不同的超参数多次运行相同的基础实验,并将结果与​​ Trains Web UI 进行比较,到目前为止一切都很好:)

基于HParam interface,必须使用 TensorFlow 才能从 HP 采样,通常在代码中。您如何将这种方法扩展到多个实验? (它不仅会自动记录 hparams,还需要创建多个实验,每个参数集一个)

使用外部优化器进行优化不是更有意义吗?这样你就可以扩展到多台机器,并且有更复杂的优化策略(比如 Optuna),你可以在 trainsexamples/optimization 找到一些例子。

【讨论】:

谢谢,我编辑了这个问题以强调我指的是在您执行 hp.hparams(hparams) 时自动记录写入 TB HParam 的内容。 所以你的意思是调用hp.hparams(hparams) 自动登录火车?假设hparams是一个dict,就省去了调用task.connect(hparams)的麻烦,这样对吗?还有一个后续问题,如果您有多个测试(如屏幕截图中所示)会发生什么情况,您将如何将一个与另一个分开? 是的,我不想打电话给task.connect(hparams)——因为我不是打电话给hp.hparams(hparams)的人,它是由RayTune(类似于Optuna)完成的。关于分离多个测试的好问题......我不知道。 我认为解决 RayTune 是关键。我们对 Trains 和 Optuna 所做的是,我们使用 Optuna 进行贝叶斯优化,使用 Trains 进行多节点执行/运行/参数接口。您如何使用 RayTune?您是否看到多个实验(即Task.init 被多次调用)? 我还没有把 Trains 和 RayTune 放在一起。直到现在都单独使用。接下来的步骤之一可能是开始一起使用它们。

以上是关于Trains 会自动记录 Tensorboard HParams 吗?的主要内容,如果未能解决你的问题,请参考以下文章

tensorboard可以显示数组数据嘛

深度学习让铁路列车更加“自主”运行 Autonomous Trains

ImportError:TensorBoard 日志记录需要 TensorBoard 1.15 或更高版本

Phillip and Trains(bfs)

Phillip and Trains(bfs)

Tensorflow Estimator 框架中没有 Tensorboard 日志记录