如何修改MLflow在mlruns下的实验编号与运行日志目录名称
解决MLflow日志路径的实验ID与运行名称自定义问题
一、替换默认实验ID(mlruns/0中的0)
默认的0是MLflow的默认实验ID,要改成自定义实验对应的ID,你需要显式创建或指定目标实验:
- 直接用
mlflow.set_experiment("你的实验名称")切换到目标实验,若实验不存在,MLflow会自动创建它,此时日志会存入mlruns/{新实验ID}目录,替代原来的0。 - 若要手动指定实验ID,先执行
mlflow.create_experiment("你的实验名称"),它会返回新的实验ID,再用mlflow.set_experiment(experiment_id=你的实验ID)完成切换。
结合PyTorch Lightning场景,建议在训练启动前(比如主脚本开头,或PD_Learner的setup方法内)添加代码:
import mlflow # 创建或切换到目标实验 mlflow.set_experiment("PD_Model_Training")
二、自定义运行名称(替换随机名称)
默认的随机运行名称可通过两种方式修改:
- 启动MLflow运行时指定:调用
mlflow.start_run()时传入run_name参数:
with mlflow.start_run(run_name="epoch_10_lr_0.001"): # 训练、日志参数指标的逻辑 mlflow.log_params(...)
- 通过PyTorch Lightning的MLflowLogger配置:若使用Lightning自带的MLflowLogger,初始化时直接指定
run_name:
from pytorch_lightning.loggers import MLFlowLogger mlf_logger = MLFlowLogger( experiment_name="PD_Model_Training", run_name="custom_run_name_here" ) # 将logger传入Trainer trainer = Trainer(logger=mlf_logger)
注意:如果PD_Learner类已自行集成MLflow,需确保在调用mlflow.log_params()前,已启动指定名称的run,或配置了正确的logger。
内容的提问来源于stack exchange,提问作者Ameya Jain
相关产品推荐
相关产品推荐

