ClearML 从记录的值中获取最大值
Posted
技术标签:
【中文标题】ClearML 从记录的值中获取最大值【英文标题】:ClearML get max value from logged values 【发布时间】:2021-05-24 23:07:02 【问题描述】:我在训练期间使用 ClearML 跟踪我的 tensorboard 日志(来自 PyTorch Lightning)。 稍后我会启动另一个脚本来连接现有任务并进行一些测试。
但不幸的是,我没有第二个脚本中的所有信息,所以我想从 ClearML 服务器的记录值中查询它们。
我该怎么做?
我想过这样的事情,但在文档中没有找到任何东西:
task = Task.init(project_name="Project", task_name="name", reuse_last_task_id="Task_id, continue_last_task=True)
x_value, y_value = task.get_value(key="val/acc", mode="max")
x_value2, y_value2 = task.get_value(key="epoch", mode="x", x=x_value)
x_value
将是我的时代或全球步骤
y_value
plot "val/acc" 的最大值
x_value2
将是我的时代或全球步骤
y_value2
x_value
处的 plot "epoch" 的值
【问题讨论】:
【参考方案1】:免责声明我是 ClearML(前身为 Trains)团队的一员。
假设我们知道任务 ID,要为正在运行(或已完成/失败)的实验获取现有的 Task
对象:
another_task = Task.get_task(task_id='aabbcc')
如果我们只知道任务项目/名称
another_task = Task.get_task(project_name='the project', task_name='the name')
请注意,如果您有多个同名任务,它将返回最新的一个。
一旦我们有了Task
对象,我们就可以这样做:
latest_scalar_values_dict = another_task.get_last_scalar_metrics()
这将返回所有标量 min/maxm/last 值,例如:
latest_scalar_values_dict =
'title':
'series':
'last': 0.5,
'min': 0.1,
'max': 0.9
documentation here
如果您需要获取整个图表,您可以使用task.get_reported_scalars()
see docs
【讨论】:
以上是关于ClearML 从记录的值中获取最大值的主要内容,如果未能解决你的问题,请参考以下文章