Forum Discussion

kipkc09's avatar
kipkc09
New Member
1 year ago
Solved

How to log/register ML model with MLFlow, with the model items in specified folder in workspace

Hi,

I'm trying to use MLFlow in Fabric notebook. I have logged the trained model using: mlflow.sklearn.log_model(model1, artifact_path="model_path", signature=signature). I have found that model1 appears as a Fabric model item in the root directory of my workspace, which is making the workspace very untidy, when I train multiple models for different projects.
- How does MLflow in Fabric notebook usethe artifact_path parameter provided?
- I found a 'model_path' folder under the associated Experiment item. What are the files that get stored there?
- Is it possible to set where the model item for model1 gets saved to a user-specified folder within the Fabric workspace?

Thanks for your help!

  • Thankyou, nilendraFabric, for your response.

    Hi kipkc09,

    We appreciate your inquiry through the Microsoft Fabric Community Forum.

    In addition to the response provided by nilendraFabric , and to facilitate better workspace organization across projects, please find below some approaches that may help resolve the issue:

    1. Prefix model names with project identifiers during registration.

      mlflow.register_model(model_uri, "ProjectA_Model_v1")

    2. Use MLflow tags to organize and filter models.

      mlflow.set_tags({
      "project": "ProjectA",
      "team": "Analytics",
      "version": "v1.0"
      })

    3. Create and log runs to separate experiments per project.

      mlflow.set_experiment("/ProjectA/ML_Experiments")

    If you find our response helpful, kindly mark it as the accepted solution and provide kudos. This will assist other community members facing similar queries.

    Thank you.




4 Replies

  • MLflow utilizes the provided artifact_path to determine the subfolder inside the run’s artifact location where it will store all files related to the model. This means that even though the model files are grouped in “model_path” for that run, the overall registration of the model in Fabric’s model registry will still occur in the default area of the workspac

    Relative paths are not supported  and the MLflow UI does not currently allow specifying a custom folder location for separate model registration

  • v-pnaroju-msft's avatar
    v-pnaroju-msft
    Icon for Community Support rankCommunity Support

    Thankyou, nilendraFabric, for your response.

    Hi kipkc09,

    We appreciate your inquiry through the Microsoft Fabric Community Forum.

    In addition to the response provided by nilendraFabric , and to facilitate better workspace organization across projects, please find below some approaches that may help resolve the issue:

    1. Prefix model names with project identifiers during registration.

      mlflow.register_model(model_uri, "ProjectA_Model_v1")

    2. Use MLflow tags to organize and filter models.

      mlflow.set_tags({
      "project": "ProjectA",
      "team": "Analytics",
      "version": "v1.0"
      })

    3. Create and log runs to separate experiments per project.

      mlflow.set_experiment("/ProjectA/ML_Experiments")

    If you find our response helpful, kindly mark it as the accepted solution and provide kudos. This will assist other community members facing similar queries.

    Thank you.




    • spark21wood's avatar
      spark21wood
      Icon for Microsoft Employee rankMicrosoft Employee

      All of my MLFlow experiments show in the root directory of the Workspace in Fabric.  How do I set the path location to be a subfolder in the Fabric workspace?

      • v-pnaroju-msft's avatar
        v-pnaroju-msft
        Icon for Community Support rankCommunity Support

        Hi spark21wood,

        Based on my understanding, MLflow experiments in Microsoft Fabric currently appear only at the workspace root, and there is no built‑in mechanism to assign them to a subfolder at creation.
        Please consider the following workaround approaches which may help resolve the issue:
        1. Simulate folders in the workspace UI:
        mlflow.set_experiment("/ProjectA/ML_Experiments/Experiment1")
        2. Specify a Lakehouse or external storage path when creating the experiment to store artifacts in a structured folder:
        mlflow.create_experiment(
        name="/ProjectA/ML_Experiments/Experiment1",
        artifact_location="abfss://<container>@<storage-account>.dfs.core.windows.net/ProjectA/ML_Experiments/Experiment1"
        )
        mlflow.set_experiment("/ProjectA/ML_Experiments/Experiment1")

        We hope that the information provided will help resolve the issue. Should you have any further queries, please feel free to contact the Microsoft Fabric community.
        Thank you.