2

I am using mlflow with sqlite backend. started the server with:

mlflow server --backend-store-uri sqlite:///mlruns_db/mlruns.db --default-artifact-root $PWD/mlruns --host 0.0.0.0 -p 5000

in the code, I log the model with signature as such

...
signature = infer_signature(X, y)
mlflow.sklearn.log_model(model, model_name, signature=signature)
...

then I get warnings

2022/05/26 19:52:17 WARNING mlflow.models.model: Logging model metadata to the tracking server has failed, possibly due older server version. The model artifacts have been logged successfully under ./mlruns/1/d4c8f611d3f24986a32d19c7d8b03f06/artifacts. In addition to exporting model artifacts, MLflow clients 1.7.0 and above attempt to record model metadata to the tracking store. If logging to a mlflow server via REST, consider upgrading the server version to MLflow 1.7.0 or above.

I am using mlflow, version 1.24.0, though.

I see that the signature is correctly logged inside MLmodel file, but the nice rendering of mlflow ui is lost.

  1. with logging signature mlflow ui with logging signature

  2. without logging signature mlflow ui without logging signature

Does this have any consequence later when serving models with signature enforcement? Also, I see many blog examples with postgres instead of sqlite, and sftp/minio instead of filestore. maybe changing to those setups will solve this?

Hn Musac
  • 21
  • 1

1 Answers1

0

Had a similar issue. Even after running both server and local on 1.30

you can import this:

import logging
logging.getLogger("mlflow").setLevel(logging.DEBUG)

The logging told me it was because the size of the paramaters exceeded the character limit of 5000. This was because my model signature was about 10k in length.