3

I build sample kedro project refer to this page, and specify host as my global ip address in mlflow.yml. but when I hit "kedro mlflow ui" command, it still listen to local. even I only specify port to 5001 (not default) in mlflow.yml, it does not work. Can anyone help me.

python version: 3.6.8 (anaconda) kedro version: 0.17.0 kedro mlflow version: 0.6.0

RCheng
  • 31
  • 1
  • 2

1 Answers1

4

(Disclaimer: I am the author of kedro-mlflow)

Hi,

you are not doing anything wrong, it appears to be a bug (thanks for reporting it!): the kedro mlflow ui command does not retrieve the ui and port parameters from the configuration, as we can see in the source code (this regression probably fell of the cracks during a refactoring).

Short term solution: Use directly the mlflow ui function as described in mlflow documentation , e.g.:

mlflow ui --mlflow-tracking-uri <your-tracking-uri> --port <your-port> --host <your-host>

Keep in mind that depending on the version of mlflow you use and the location of your runs (a local filesystem or a database) the tracking uri must be a valid uri (i.e. for old mlflow versions you cannot use "mlruns" relative path, but rather file:///<absolute/path/to/mlruns even if you are in the right folder). According to mlflow documentation using a relative path should work in most recent versions though, but I have never tried it.

Long term solution: The bug will be fixed in kedro-mlflow==0.7.1 which will be released in the coming weeks. From this version on, you will be able to declare port and host directly in mlflow.yml as you are currently doing. It will be compatible only with kedro>=0.17.1 though, so you will need to update your project template.