我不得不在中间停止训练,这将“火车”状态设置为Aborted
。后来,我从最后一个检查点继续执行此操作,但状态仍然保持Aborted
。此外,自动训练指标不再出现在仪表板中(尽管自定义指标仍然存在)。
我可以将状态重置为Running
并使“火车”再次记录训练统计信息吗?
编辑:继续培训时,我使用Task.get_task()
和不是检索任务Task.init()
。也许这就是为什么训练统计信息不再更新的原因?
Edit2:我也尝试过Task.init(reuse_last_task_id=original_task_id_string)
,但是它只是创建一个新任务,并且不重用给定的任务ID。
免责声明:我是Allegro Trains团队的成员
继续培训时,我使用Task.get_task()而不是Task.init()检索了任务。也许这就是为什么训练统计信息不再更新的原因?
是的,这是继续执行相同任务的唯一方法。您也可以将其标记为开头task.mark_started()
,表示自动记录将不会启动,这Task.get_task
通常用于访问先前执行的任务而不继续执行(如果您认为继续用例很重要,请随时打开GitHub问题) ,我绝对可以看到其中的价值)
您还可以做一些不同的事情,只是创建一个新Task,从上次运行结束的最后一次迭代开始继续。请注意,如果您加载权重文件(PyTorch / TF / Keras / JobLib),它将自动将其与上一次运行中创建的模型连接(假设模型存储在同一位置,或者如果模型位于https / S3 / Gs / Azure,您正在使用trains.StorageManager.get_local_copy()
)
previous_run = Task.get_task()
task = Task.init('examples', 'continue training')
task.set_initial_iteration(previous_run.get_last_iteration())
torch.load('/tmp/my_previous_weights')
顺便说一句:
我还尝试了Task.init(reuse_last_task_id = original_task_id_string),但它只是创建一个新任务,并且不会重用给定的任务ID。
对于界面来说,继续上一次运行是个好主意,可以随时将其添加为GitHub问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句