ClearML 从记录的值中获取最大值

ClearML get max value from logged values

我在训练期间使用 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)

免责声明我是 ClearML(以前称为 Trains)团队的一员。

要为 运行(或 completed/failed)实验获取现有 Task 对象,假设我们知道任务 ID:

another_task = Task.get_task(task_id='aabbcc')

如果我们只知道任务 project/name

another_task = Task.get_task(project_name='the project', task_name='the name')

请注意,如果您有多个同名任务,它将 return 最新的任务。 一旦我们有了 Task 对象,我们就可以做:

latest_scalar_values_dict = another_task.get_last_scalar_metrics()

这将 return 所有标量 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