question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[FR] Experiments folder structure

See original GitHub issue

Thank you for submitting a feature request. Before proceeding, please review MLflow’s Issue Policy for feature requests and the MLflow Contributing Guide.

Please fill in this feature request template to ensure a timely and thorough response.

Willingness to contribute

The MLflow Community encourages new feature contributions. Would you or another member of your organization be willing to contribute an implementation of this feature (either as an MLflow Plugin or an enhancement to the MLflow code base)?

  • Yes. I can contribute this feature independently.
  • Yes. I would be willing to contribute this feature with guidance from the MLflow community.
  • No. I cannot contribute this feature at this time.

I have little experience in coding UI, though.

Proposal Summary

In the MLflow UI allow experiments to be grouped together in a folder structure, preferably multiple levels deep, which can be collapsed and expanded, so that experiments can be grouped together and sorted easily.

Preferably, sort the experiments by name as well for clarity.

Motivation

  • What is the use case for this feature?
  • Why is this use case valuable to support for MLflow users in general?
  • Why is this use case valuable to support for your project(s) or organization?
  • Why is it currently difficult to achieve this use case? (please be as specific as possible about why related MLflow features and components are insufficient)

We have so many different experiments (with many training runs in each) that it becomes difficult to manage the list and keep an overview of the experiments. Being able to sort and group them would make it much simpler to manage them.

What component(s), interfaces, languages, and integrations does this feature affect?

Components

  • area/artifacts: Artifact stores and artifact logging
  • area/build: Build and test infrastructure for MLflow
  • area/docs: MLflow documentation pages
  • area/examples: Example code
  • area/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registry
  • area/models: MLmodel format, model serialization/deserialization, flavors
  • area/projects: MLproject format, project running backends
  • area/scoring: Local serving, model deployment tools, spark UDFs
  • area/server-infra: MLflow server, JavaScript dev server
  • area/tracking: Tracking Service, tracking client APIs, autologging

Interfaces

  • area/uiux: Front-end, user experience, JavaScript, plotting
  • area/docker: Docker use across MLflow’s components, such as MLflow Projects and MLflow Models
  • area/sqlalchemy: Use of SQLAlchemy in the Tracking Service or Model Registry
  • area/windows: Windows support

Languages

  • language/r: R APIs and clients
  • language/java: Java APIs and clients
  • language/new: Proposals for new client languages

Integrations

  • integrations/azure: Azure and Azure ML integrations
  • integrations/sagemaker: SageMaker integrations
  • integrations/databricks: Databricks integrations

Details

(Use this section to include any additional information about the feature. If you have a proposal for how to implement this feature, please include it here. For implementation guidelines, please refer to the Contributing Guide.)

I would like to be able to name my experiments

Project 1/model 1.2
Project 1/model 1.3
Project 2/model 2.1
Project 2/model 2.2
etc.

which would be rendered in the UI as collapsible and expandable folders:

Experiments

  • Project 1
    • model 1.1
    • model 1.2
    • model 1.3
  • Project 2
    • model 2.1
    • model 2.2
  • etc.

Multiple levels of folders would be greatly appreciated, e.g. Program X/Project 3/Component B/model 1

Issue Analytics

  • State:open
  • Created 2 years ago
  • Reactions:6
  • Comments:8

github_iconTop GitHub Comments

2reactions
erikjandevriescommented, Nov 24, 2021

I think that in https://github.com/mlflow/mlflow/blob/master/mlflow/server/js/src/experiment-tracking/components/ExperimentListView.js there should be some code to group experiment-names into folders and subfolders, which should then be visualised in separate collapsible blocks, or something like that.

I.e. before the .map in https://github.com/mlflow/mlflow/blob/master/mlflow/server/js/src/experiment-tracking/components/ExperimentListView.js#L156-L173 I would like to insert some sort of “group by” folder, and then create a collapsible <div> per group (folder), in which you can list the actual experiment names.

One tricky part could be to make this recursive - in the sense that you can have multiple levels of folders.

Actually it’s probably not terribly complex or tricky, but I’m just not familiar with the js syntax 😉

1reaction
nevilkandathilcommented, Jul 8, 2022

Is there any estimated time or updates to this request?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Setting up an Organised Folder Structure for Research Projects
1. Inputs – this is the place to store any files and documents used in the experimental task itself. · 2. Data –...
Read more >
Experimental Directory Structure (Exdir): An Alternative to ...
We propose a novel alternative, the Experimental Directory Structure (Exdir), an open specification for data storage in experimental ...
Read more >
Towards a Standardized Research Folder Structure - GenR
The experiment level​​ We propose to keep data and code in different first level folders, and to create several new folders (new data,...
Read more >
5 Folder structure
5.1 Root folder · Short description of the study · A description of the folder structure · Time and location of data collection...
Read more >
File Structure : Biological Engineering Communication Lab
Best practices for separation of concerns · What your sensor, machine, experimental apparatus, etc. spits out. · Often bad names come from data...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found