7

我正在使用带有文件存储的 mlflow 跟踪作为后端存储一段时间,我在系统中记录了很多运行。
最近我想开始使用模型注册表,但不幸的是,目前只有 DB 作为后端存储才支持此功能。
如何在不丢失我已经记录的所有运行的情况下更改后端存储?

我用来运行服务器的命令:

mlflow server --backend-store-uri /storage/mlflow/runs/ --default-artifact-root /storage/mlflow/artifactory/ --host 0.0.0.0 --port 5000
4

3 回答 3

0

如果要使用模型注册功能,我们确实需要一个数据库。这就是我通过几个步骤在我的 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 作为后端存储而不是本地文件系统。

于 2022-01-23T19:35:47.557 回答
0

我的解决方法是使用预期的工作目录创建服务:

Description=MLflow Tracking Server
Wants=network-online.target
After=network-online.target

[Service]
Restart=on-failure
RestartSec=30
StandardOutput=file:/var/log/mlflow/mlflow.log
StandardError=file:/var/log/mlflow/error.log
User=root

ExecStart=/usr/local/bin/mlflow server --host 0.0.0.0 --port 5000 --backend-store-uri sqlite:///mlflow.db --default-artifact-root /drl/artifacts
WorkingDirectory=/drl

[Install]
WantedBy=multi-user.target
于 2021-10-14T14:56:36.793 回答
-1
mlflow server --backend-store-uri sqlite:///mlflow.db --default-artifact-root wasbs://<azure_blob_container_name>@<azure_blob_account_name>.blob.core.windows.net --host 0.0.0.0

这样,sqlite 将自动创建

于 2020-07-17T04:33:40.743 回答