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 吗?的主要内容,如果未能解决你的问题,请参考以下文章
深度学习让铁路列车更加“自主”运行 Autonomous Trains