微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ClearML 从记录值中获取最大值

如何解决ClearML 从记录值中获取最大值

我在训练期间使用 clearml 来跟踪我的张量板日志(来自 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 绘图“val/acc”的最大值
  • x_value2 将是我的时代或全球步骤
  • y_value2 x_value 处情节“epoch”的值

解决方法

免责声明我是 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。