-1

在以下情况下,Trains 将如何将任何丢失的数据发送到服务器?

  • 运行实验时 Internet 连接暂时中断
  • 互联网连接中断并且在实验结束前没有恢复(任何手动方式发送所有丢失的数据?)
  • 运行 Trains 服务器的机器在实验过程中重置
4

1 回答 1

1

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

  • 火车将自动重试发送日志,基本上是永远。日志/指标在后台线程中发送,因此不应干扰执行。sdk.network.iteration.retry_backoff_factor_sec您可以通过调整文件中的参数来设置退避参数,以控制重试频率,~/trains.conf请参见此处的示例
  • 当实验结束时,实验将尝试将所有指标刷新到后端,即进程将在_exit 等待,直到发送所有指标。这意味着如果连接被断开,它将重试,直到它再次启动。如果手动中止实验,则无法捕获/重新发送那些丢失的指标报告。也就是说,在新的 0.16 版本中,引入了离线模式。这样就可以离线运行整个实验,然后报告所有日志/指标/工件。
  • Trains-Server 机器是完全无状态的(状态本身存储在机器上的数据库中),这意味着从实验的角度来看,连接断开了几分钟,然后再次可用。对于您的问题,如果 Trains-Server 重新启动,它对所有实验都是透明的,并且它们照常继续,不会丢失任何报告。
于 2020-08-10T11:25:46.877 回答