Files
compose-anything/src/mlflow/README.zh.md
Sun-ZhenXing 3c609b5989 feat: add more
2025-10-06 21:48:39 +08:00

3.1 KiB
Raw Blame History

MLflow

English | 中文

此服务用于部署带有 PostgreSQL 后端和 MinIO 工件存储的 MLflow。

服务

  • mlflow: MLflow 跟踪服务器。
  • postgres: 用于 MLflow 元数据的 PostgreSQL 数据库。
  • minio: 用于工件存储的 MinIO 服务器S3 兼容)。
  • minio-init: 创建 MLflow 存储桶的初始化服务。

环境变量

变量名 说明 默认值
MLFLOW_VERSION MLflow 镜像版本 v2.20.2
POSTGRES_VERSION PostgreSQL 镜像版本 17.6-alpine
POSTGRES_USER PostgreSQL 用户名 mlflow
POSTGRES_PASSWORD PostgreSQL 密码 mlflow
POSTGRES_DB PostgreSQL 数据库名称 mlflow
MINIO_VERSION MinIO 镜像版本 RELEASE.2025-01-07T16-13-09Z
MINIO_MC_VERSION MinIO 客户端版本 RELEASE.2025-01-07T17-25-52Z
MINIO_ROOT_USER MinIO 根用户名 minio
MINIO_ROOT_PASSWORD MinIO 根密码 minio123
MINIO_BUCKET 工件的 MinIO 存储桶 mlflow
MLFLOW_PORT_OVERRIDE MLflow 服务器端口 5000
MINIO_PORT_OVERRIDE MinIO API 端口 9000
MINIO_CONSOLE_PORT_OVERRIDE MinIO 控制台端口 9001

请根据实际需求修改 .env 文件。

  • postgres_data: PostgreSQL 数据存储。
  • minio_data: 工件的 MinIO 数据存储。

使用方法

访问 MLflow UI

启动服务后,在以下地址访问 MLflow UI

http://localhost:5000

配置 MLflow 客户端

在你的 Python 脚本或笔记本中:

import mlflow

# 设置跟踪 URI
mlflow.set_tracking_uri("http://localhost:5000")

# 你的 MLflow 代码
with mlflow.start_run():
    mlflow.log_param("param1", 5)
    mlflow.log_metric("metric1", 0.89)

MinIO 控制台

在以下地址访问 MinIO 控制台:

http://localhost:9001

使用 MINIO_ROOT_USERMINIO_ROOT_PASSWORD 中指定的凭据登录。

功能

  • 实验跟踪: 使用参数、指标和工件跟踪 ML 实验
  • 模型注册表: 版本化和管理 ML 模型
  • 项目: 以可重用格式打包 ML 代码
  • 模型: 将 ML 模型部署到各种平台
  • 持久存储: PostgreSQL 用于元数据MinIO 用于工件

注意事项

  • minio-init 服务运行一次以创建存储桶,然后停止。
  • 对于生产环境,请更改所有默认密码。
  • 考虑使用外部 PostgreSQL 和 S3 兼容存储用于生产环境。
  • 该设置使用命名卷进行数据持久化。

许可证

MLflow 使用 Apache License 2.0 授权。