How do I force and Azure Machine Learning batch endpoint to rerun every time

Lee Harper 25 Reputation points
2024-03-19T00:48:21.9666667+00:00

Within Azure ML, I have a machine learning pipeline running R code. I have successfully run this pipeline with the allow_reuse parameter being false, which means that the pipeline reruns every time it is invoked. This is the behavior that is required.

I want to deploy this pipeline behind a batch endpoint in Azure ML, since R is not supported with batch endpoints out of the box. I have used a PipelineComponentBatchDeployment to do this via the CLI, and it works - I am able to create a deployment with this pipeline behind the batch endpoint.

Unfortunately, I can only run the pipeline once, because the batch endpoint inputs do not change run to run (data is loaded via SQL query during the ML pipeline). It turns out that the job created when we invoke the batch endpoint defaults to azureml.enforceRerun = "False", rather than inheriting the azureml.enforceRerun = "True" from the parent pipeline job.

I have already tried adding a force_rerun: True to the deployment.yml file per the documentation to try to inject this into the invoked job, but this isn't doing anything. We want to use the CLI for this and not the python SDK for devops reasons.

In this situation, is there a way to be able to ensure that the job created by the invoked batch-endpoint will rerun the complete pipeline every time it is executed?

Azure Machine Learning
Azure Machine Learning
An Azure machine learning service for building and deploying models.
2,978 questions
{count} vote

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.