如何在本地启动 MLflow 跟踪服务器并正确设置实验
发布时间 - 2026-01-22 00:00:00 点击率:次本文详解为何调用 mlflow.set_experiment() 会报连接拒绝错误,并手把手教你启动本地 mlflow 后端服务,完成实验创建、模型训练与指标记录的完整闭环。
MLflow 的跟踪(Tracking)功能依赖一个后端服务来持久化实验、运行、参数和指标。当你执行 mlflow.set_experiment("MLflow Quickstart") 时,MLflow 会尝试向配置的 tracking URI(如 http://127.0.0.1:8080)发起 HTTP 请求,查询或创建同

✅ 正确做法:先启动 MLflow Tracking Server,再运行你的 Python 脚本。
1. 启动本地 MLflow 服务
在终端(Windows PowerShell / CMD / macOS/Linux Terminal)中执行以下命令:
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)等高级能力。
# linux
# python
# windows
# 杀毒软件
# 防火墙
# 浏览器
# 端口
# 后端
# mac
# ai
# macos
# win
# cos
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Laravel distinct去重查询_Laravel Eloquent去重方法
Laravel如何实现API速率限制?(Rate Limiting教程)
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
EditPlus中的正则表达式 实战(2)
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
Android okhttputils现在进度显示实例代码
Laravel如何实现事件和监听器?(Event & Listener实战)
微信小程序 配置文件详细介绍
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
如何在阿里云香港服务器快速搭建网站?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
浅谈javascript alert和confirm的美化
教你用AI将一段旋律扩展成一首完整的曲子
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
UC浏览器如何设置启动页 UC浏览器启动页设置方法
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
Swift中循环语句中的转移语句 break 和 continue
太平洋网站制作公司,网络用语太平洋是什么意思?
百度浏览器如何管理插件 百度浏览器插件管理方法
无锡营销型网站制作公司,无锡网选车牌流程?
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
javascript日期怎么处理_如何格式化输出
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
JS实现鼠标移上去显示图片或微信二维码
如何用腾讯建站主机快速创建免费网站?
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Laravel如何配置Horizon来管理队列?(安装和使用)
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Laravel如何使用Eloquent进行子查询
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
如何续费美橙建站之星域名及服务?
5种Android数据存储方式汇总
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
如何在IIS中新建站点并解决端口绑定冲突?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
Python结构化数据采集_字段抽取解析【教程】
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
b2c电商网站制作流程,b2c水平综合的电商平台?
javascript基于原型链的继承及call和apply函数用法分析
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
如何用PHP快速搭建高效网站?分步指南
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集

