我想使用MLFlow (使用Python)来记录时间序列,时间间隔等于1天。我的想法是创建一个具有特定ID的新运行,并每天使用具有新值的函数log_metric (例如,使用cron作业)。一旦我的运行终止,我可以“重新打开”它并记录一个新的指标吗?我的想法是:
# 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()以及接下来的几天:
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"每天都会记录新的指标。
你有什么想法来实现这一点吗?
发布于 2021-05-10 23:58:08
解决方案似乎是:
# 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...然后,
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)https://stackoverflow.com/questions/67472983
复制相似问题