-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FR] Get or create run #11783
Comments
Hi @BalkanFlink, i think the request makes sense. With regard to searching runs by name, there is already some support for this via the mlflow.search_runs(
experiment_ids=[0],
# if you know the exact run name
filter_string="attributes.run_name='shivering-fox-792'"
)
mlflow.search_runs(
experiment_ids=[0],
# if you only know part of the run name
filter_string="attributes.run_name LIKE '%fox%'"
) depending on the result of the search, you can either create a run or retrieve the run id from the search result. let me know if this solves your use case! |
Hi @daniellok-db , thanks for the info. I know it is possible to do already, but it would be convenient as a small standalone function in my opinion. I will already be developing this function as part of a ticket, the decision now is whether I can contribute it to MLflow directly instead of building our own internal wrapper function. Should I fork the repo and raise a PR related to this issue (#11783) ? |
I see! Yes, feel free to file a PR and the MLflow team will review it 😄 |
@mlflow/mlflow-team Please assign a maintainer and start triaging this issue. |
hey @daniellok-db , would you be able to take a look at our PR for this please? |
Willingness to contribute
Yes. I can contribute this feature independently.
Proposal Summary
It would be convenient to our data scientists if there was one function that could search for an experiment's run by name and return the relevant run object if it exists, or create it if it does not exist. If there exist more than one run with that run name in the experiment, it would return an error.
Motivation
Users would like to pick up where they left off with a run. This would be easier and quicker to do with the run name rather than the run id
It would save them having to search for the run id in the MLflow UI before they can obtain the run via Python API and resume their work.
Making the lives of Data Scientists easier by removing a step from their workflow
Resuming a specific run currently requires knowing it's run id (via the UI), whereas it would be a smoother experience to just search/create by run name.
Details
I'm happy to contribute this feature. I would add a method to the mlflow client to first search for an existing run with the same run name (using
mlflow.search_runs(filter_string="run_name='myexistingrun'")
) or create a new run with that run name if it does not exist. If there is more than one run with this name, it would throw an error.What component(s) does this bug affect?
area/artifacts
: Artifact stores and artifact loggingarea/build
: Build and test infrastructure for MLflowarea/deployments
: MLflow Deployments client APIs, server, and third-party Deployments integrationsarea/docs
: MLflow documentation pagesarea/examples
: Example codearea/model-registry
: Model Registry service, APIs, and the fluent client calls for Model Registryarea/models
: MLmodel format, model serialization/deserialization, flavorsarea/recipes
: Recipes, Recipe APIs, Recipe configs, Recipe Templatesarea/projects
: MLproject format, project running backendsarea/scoring
: MLflow Model server, model deployment tools, Spark UDFsarea/server-infra
: MLflow Tracking server backendarea/tracking
: Tracking Service, tracking client APIs, autologgingWhat interface(s) does this bug affect?
area/uiux
: Front-end, user experience, plotting, JavaScript, JavaScript dev serverarea/docker
: Docker use across MLflow's components, such as MLflow Projects and MLflow Modelsarea/sqlalchemy
: Use of SQLAlchemy in the Tracking Service or Model Registryarea/windows
: Windows supportWhat language(s) does this bug affect?
language/r
: R APIs and clientslanguage/java
: Java APIs and clientslanguage/new
: Proposals for new client languagesWhat integration(s) does this bug affect?
integrations/azure
: Azure and Azure ML integrationsintegrations/sagemaker
: SageMaker integrationsintegrations/databricks
: Databricks integrationsThe text was updated successfully, but these errors were encountered: