mlflow - MLFlow 如何将后端存储 uri 从文件存储更改为数据库
问题描述
我正在使用带有文件存储的 mlflow 跟踪作为后端存储一段时间,我在系统中记录了很多运行。
最近我想开始使用模型注册表,但不幸的是,目前只有 DB 作为后端存储才支持此功能。
如何在不丢失我已经记录的所有运行的情况下更改后端存储?
我用来运行服务器的命令:
mlflow server --backend-store-uri /storage/mlflow/runs/ --default-artifact-root /storage/mlflow/artifactory/ --host 0.0.0.0 --port 5000
解决方案
如果要使用模型注册功能,我们确实需要一个数据库。这就是我通过几个步骤在我的 Linux 机器上设置(使用 MySQL)的方式:-
1)- 在您的系统中安装 MySQL。
sudo apt install mysql-server
2)- 创建一个数据库用作 MLflow 后端跟踪服务器。
CREATE DATABASE mlflow_tracking_database;
3)- 使用 MySQL 作为后端跟踪存储启动 MLflow 跟踪服务器。
mlflow server \
--backend-store-uri mysql+pymysql://root@localhost/mlflow_tracking_database \
--default-artifact-root file:/./mlruns \
-h 0.0.0.0 -p 5000
4)- 设置 MLflow 跟踪 uri(在代码部分内)。
mlflow.set_tracking_uri("http://localhost:5000")
注意:在第三步中,该命令会自动在数据库中创建所有必要的表,并使用 MySQL 作为后端存储而不是本地文件系统。
推荐阅读
- sql - SQL - 两行只有一个不同的列值。如何保留一个并过滤另一个?
- java - 执行静态块
- javascript - 是否可以在输入时从 File API 中提取 PDF 中的文本,而不是获取存储的文档?
- java - 预期条件失败:等待元素在 Selenium 中可点击
- python - 函数调用堆栈:keras_scratch_graph 错误
- c# - 如何将 Avro 通用记录转换为字节?
- javascript - 如何使用 Firestore REST API 获取嵌套对象?
- python - 在 Python 中测试线性同余生成器
- python - 多输出双向lstm的问题
- javascript - 当使用同一类的每个后续元素也是第一个子元素时,如何使用特定类选择页面上的第一个元素?