我想将从 mlflow 获取的参数和指标保存到 s3 存储桶中。通常我通过设置tracking_uriin mlflow 来获取这些并将其保存在服务器上,但在这种情况下我不能拥有服务器(被告知不行),只想以与以下相同的方式将我的参数和指标存储在 s3 存储桶上它将使用tracking_uri.
我可以毫无问题地将工件存储在 s3 存储桶上,但不能存储参数/指标。
这是一些代码:
def mlflow_testing():
tracking_uri = "s3://bucket_name/mlflow/",
experiment_name = "test",
artifact_uri= "s3://bucket_name/mlflow/"
mlflow.set_tracking_uri(tracking_uri)
mlflow.create_experiment(experiment_name, artifact_uri)
mlflow.set_experiment(experiment_name)
with mlflow.start_run() as run:
mlflow.log_param("test1", 0)
mlflow.log_metric("test2", 1)
with open("test.txt", "w") as f:
f.write("this is an artifact")
mlflow.log_artifact("test.txt")
mlflow.end_run()
Run Code Online (Sandbox Code Playgroud)
这能够将工件文本文件存储在 s3 存储桶上(只要我将 uri 设置为本地路径,而local_data/mlflow不是 s3 存储桶)。
设置 s3 存储桶会导致tracking_uri此错误:
mlflow.tracking.registry.UnsupportedModelRegistryStoreURIException:
Model registry functionality is unavailable; got unsupported URI
's3://bucket_location/mlflow/' for model registry data storage.
Supported …Run Code Online (Sandbox Code Playgroud)