如何在本地启动 MLflow 跟踪服务器并正确设置实验

夜芳姑娘_4825

夜芳姑娘_4825

2026-01-22

185人浏览

原创

如何在本地启动 MLflow 跟踪服务器并正确设置实验

本文详解为何调用 mlflow.set_experiment() 会报连接拒绝错误,并手把手教你启动本地 mlflow 后端服务,完成实验创建、模型训练与指标记录的完整闭环。

MLflow 的跟踪(Tracking)功能依赖一个后端服务来持久化实验、运行、参数和指标。当你执行 mlflow.set_experiment("MLflow Quickstart") 时,MLflow 会尝试向配置的 tracking URI(如 http://127.0.0.1:8080)发起 HTTP 请求,查询或创建同名实验。但若此时本地并未运行 MLflow 服务进程,该请求将因“目标地址无监听服务”而失败——这正是你看到的 WinError 10061(连接被目标主机明确拒绝)的根本原因。

✅ 正确做法:先启动 MLflow Tracking Server,再运行你的 Python 脚本。

1. 启动本地 MLflow 服务

在终端(Windows PowerShell / CMD / macOS/Linux Terminal)中执行以下命令:

Spotify-Linux
Spotify-Linux

通过 MPRIS DBus 控制 Spotify Linux 桌面客户端,实现播放、搜索、启动、音量和曲目信息,无需浏览器自动化。

下载
mlflow server \
  --host 127.0.0.1 \
  --port 8080 \
  --backend-store-uri sqlite:///mlflow.db \
  --default-artifact-root ./mlruns
  • --host 和 --port:指定服务监听地址,需与代码中 set_tracking_uri() 保持一致;
  • --backend-store-uri:使用 SQLite 数据库存储元数据(实验/运行信息),首次运行会自动创建 mlflow.db 文件;
  • --default-artifact-root:指定模型、日志等二进制文件的默认存储路径(本地目录 ./mlruns)。
✅ 提示:确保已安装 MLflow(pip install mlflow)。启动成功后,终端将显示类似 Running the MLflow tracking server at http://127.0.0.1:8080 的提示,并自动打开 Web UI(浏览器访问 http://127.0.0.1:8080 即可查看实验仪表盘)。

2. 修改并运行你的 Python 脚本

确认服务已运行后,再执行如下完整示例(含实验设置、模型训练与日志记录):

import mlflow
from mlflow.models import infer_signature
import pandas as pd
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

# ✅ 确保服务已启动后再设置 URI 和实验
mlflow.set_tracking_uri("http://127.0.0.1:8080")
mlflow.set_experiment("MLflow Quickstart")

# 开始一次新运行
with mlflow.start_run():
    # 加载数据
    iris = datasets.load_iris()
    X_train, X_test, y_train, y_test = train_test_split(
        iris.data, iris.target, test_size=0.2, random_state=42
    )

    # 训练模型
    clf = LogisticRegression(max_iter=200)
    clf.fit(X_train, y_train)
    y_pred = clf.predict(X_test)

    # 记录参数与指标
    mlflow.log_param("model_type", "LogisticRegression")
    mlflow.log_param("max_iter", 200)

    mlflow.log_metric("accuracy", accuracy_score(y_test, y_pred))
    mlflow.log_metric("precision", precision_score(y_test, y_pred, average="weighted"))
    mlflow.log_metric("recall", recall_score(y_test, y_pred, average="weighted"))
    mlflow.log_metric("f1", f1_score(y_test, y_pred, average="weighted"))

    # 记录模型(自动推断 signature)
    signature = infer_signature(X_train, clf.predict(X_train))
    mlflow.sklearn.log_model(clf, "model", signature=signature)

    print("✅ Run logged successfully! Check http://127.0.0.1:8080")

⚠️ 注意事项

  • 服务必须前置运行:Python 脚本不能替代 mlflow server;它只是客户端。
  • 端口冲突? 若 8080 已被占用,可改用 --port 5000 并同步更新 set_tracking_uri("http://127.0.0.1:5000")。
  • 权限问题(Windows):某些环境需以管理员身份运行终端启动服务;若仍报错,尝试关闭防火墙或杀毒软件临时拦截。
  • Databricks 替代方案:若注册 Databricks 账户持续失败,推荐使用 Databricks Community Edition(免费且无需人工审核),或坚持本地 SQLite + 文件存储方案,完全满足学习与中小项目需求。

至此,你已打通 MLflow 本地跟踪全流程:服务启动 → 实验定义 → 运行记录 → Web 可视化。后续可进一步探索模型注册(Model Registry)、项目打包(Projects)与部署(Models Serving)等高级能力。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

2023.10.09

3330

5

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

2024.12.20

7563

6

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

2024.12.23

9222

11

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

2025.07.23

4787

16

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.07

357

5

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3359

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

2918

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1528

3

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2659

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习