首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MLFlow是否可以在终止的运行中记录新指标?

MLFlow是否可以在终止的运行中记录新指标?
EN

Stack Overflow用户
提问于 2021-05-10 23:08:42
回答 1查看 83关注 0票数 2

我想使用MLFlow (使用Python)来记录时间序列,时间间隔等于1天。我的想法是创建一个具有特定ID的新运行,并每天使用具有新值的函数log_metric (例如,使用cron作业)。一旦我的运行终止,我可以“重新打开”它并记录一个新的指标吗?我的想法是:

代码语言:javascript
复制
# Day 1
import mlflow

tracking_uri = "my_uri"
mlflow.set_tracking_uri(tracking_uri)
xp_id = 0
mlflow.start_run(run_name="test", experiment_id=xp_id)
mlflow.log_metric("test_metric", 1)
mlflow.end_run()

以及接下来的几天:

代码语言:javascript
复制
import mlflow

def log_daily_metric(daily_value_metric):
  tracking_uri = "my_uri"
  mlflow.set_tracking_uri(tracking_uri)
  xp_id = 0
  mlflow.restart_run(run_name="test", experiment_id=xp_id)  # /!\ function mlflow.restart does not exist
  mlflow.log_metric("test_metric", daily_value_metric)
  mlflow.end_run()

因此运行"test"每天都会记录新的指标。

你有什么想法来实现这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2021-05-10 23:58:08

解决方案似乎是:

代码语言:javascript
复制
# day 1

import mlflow

tracking_uri = "my_uri"
mlflow.set_tracking_uri(tracking_uri)
xp_id = 0

client = MlflowClient()
run = client.create_run(experiment_id=xp_id)
print(run.info.run_id)  # gives you the run ID of your experiment. Example: "df85f660dca47d21b41454342cd3a7cb". Let's save this id somewhere...

然后,

代码语言:javascript
复制
import mlflow

def log_daily_metric(daily_value_metric: float, day: int):
  tracking_uri = "my_uri"
  mlflow.set_tracking_uri(tracking_uri)
  xp_id = 0
  client = MlflowClient()
  run_id = "df85f660dca47d21b41454342cd3a7cb"
  client.log_metric(run_id=run_id, key="test_metric", value=daily_value_metric, step=day)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67472983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档