mlflow.start_run() 就会启动一次新的 Run。Run 内可以记录:mlflow.start_run(nested=True),新的 Run 会作为父 Run 的子 Run,常用于超参数调优场景。示例:import mlflowwith mlflow.start_run(run_name="Parent Run"):mlflow.log_param("model_type", "CNN")for i in range(3):with mlflow.start_run(run_name=f"Child Run {i}", nested=True):mlflow.log_param("learning_rate", 0.01 * (i + 1))mlflow.log_metric("accuracy", 0.8 + 0.05 * i)
learning_rate: 0.01batch_size: 64n_estimators: 100max_depth: 6mlflow.log_param(key, value) 记录,记录后不可修改。accuracy、AUC、F1、precision、recall(分类)RMSE、MAE、R2(回归)loss、val_loss(深度学习)mlflow.log_metric(key, value, step=None) 记录,可多次调用以记录训练曲线。.pkl / .pt / .onnx 等)stdout、stderr、log.txt)config.yaml、params.json)mlflow.log_artifact(local_path, artifact_path=None) 或 mlflow.<flavor>.log_model(...) 记录。指标 | 含义 |
cpu_utilization_percentage | CPU 使用率 |
system_memory_usage_megabytes | 系统内存占用 |
system_memory_usage_percentage | 系统内存占用率 |
network_receive_megabytes | 网络接收流量 |
network_transmit_megabytes | 网络发送流量 |
disk_usage_megabytes | 磁盘已用容量 |
disk_available_megabytes | 磁盘可用容量 |
mlflow.<flavor>.log_model(...) 记录的模型对象会作为 Run 的工件保存。模型有以下两种状态:registered_model_name= 参数后,模型会注册到 Catalog 下的 MLflow Model Registry,拥有 catalog.schema.model_name 三段式全名与递增的版本号。场景 | 关系 |
一个 Run 训练并保存一个模型(基础场景) | Run 与模型一一对应 |
一个 Run 在多个 epoch 保存多个模型快照(深度学习) | 一个 Run 对应多个模型工件(如 torch-iris-10、torch-iris-50、torch-iris-100) |
同一模型架构用不同参数多次训练(调参) | 同一注册模型对应多个 Run,分别为不同模型版本 |
父子 Run 各自保存模型(如调参试验) | 一个父 Run 关联多个子 Run,每个子 Run 关联一个模型工件 |
权限级别 | 可执行操作 |
读取(Can Read) | 查看实验基本信息、所有 Run 的参数 / 指标 / 模型 / 工件、运行历史;导出实验结果;查看权限设置(不可修改) |
编辑(Can Edit) | 拥有读取的所有能力;新建 Run、修改 Run 内的参数 / 指标 / 工件;编辑实验描述与标签 |
管理(Can Manage) | 拥有编辑的所有能力;删除实验、为其他用户分配权限 |
文档反馈