如何修改MLflow日志的默认保存目录
要修改MLflow的默认日志存储路径,只需要在启动MLflow run之前配置追踪URI即可,针对你给出的代码,可以按以下步骤修改:
步骤1:修改Model类的__init__方法,新增MLflow路径配置
你可以直接把目标路径写死,也可以做成可传入的参数,这里推荐做成可配置参数,方便后续调整:
# 修改__init__的入参,新增mlflow_tracking_uri参数 def __init__(self, model, num_classes=5, ignore_index=0, optimizer=None, scheduler=None, criterion=None, device=None, epochs=30, train_loader=None, val_loader=None, tb_logger: TBLogger = None, logger=None, best_model_path=None, model_check_point_path=None, load_from_best_model=None, load_from_model_checkpoint=None, early_stopping=None, debug=False, mlflow_tracking_uri="/path/outputs/lg"): # 新增这一行 # 原有__init__逻辑保留,在__init__末尾添加以下代码 self.mlflow_tracking_uri = mlflow_tracking_uri # 自动创建路径避免报错 os.makedirs(self.mlflow_tracking_uri, exist_ok=True)
步骤2:在fit方法启动MLflow run前设置追踪URI
找到fit方法里with mlflow.start_run():这行,在它前面添加路径配置代码:
def fit(self): self.logger.info("\nStart training\n\n") start_training_time = time() # 新增这一行:设置MLflow日志存储路径 mlflow.set_tracking_uri(self.mlflow_tracking_uri) with mlflow.start_run(): # 原有训练逻辑完全保留即可
补充说明
- 配置完成后,MLflow会自动把所有的指标、参数、版本记录都写入到
/path/outputs/lg路径下,不会再在当前脚本同级目录生成默认的mlruns文件夹。 - 后续如果你要启动MLflow UI查看日志,启动命令需要指定对应的存储路径:
mlflow ui --backend-store-uri /path/outputs/lg
内容的提问来源于stack exchange,提问作者Omid Erfanmanesh
相关产品推荐
相关产品推荐

