3.1 KiB
3.1 KiB
MLflow
此服务用于部署带有 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_USER 和 MINIO_ROOT_PASSWORD 中指定的凭据登录。
功能
- 实验跟踪: 使用参数、指标和工件跟踪 ML 实验
- 模型注册表: 版本化和管理 ML 模型
- 项目: 以可重用格式打包 ML 代码
- 模型: 将 ML 模型部署到各种平台
- 持久存储: PostgreSQL 用于元数据,MinIO 用于工件
注意事项
minio-init服务运行一次以创建存储桶,然后停止。- 对于生产环境,请更改所有默认密码。
- 考虑使用外部 PostgreSQL 和 S3 兼容存储用于生产环境。
- 该设置使用命名卷进行数据持久化。
许可证
MLflow 使用 Apache License 2.0 授权。