Skip to content

Unable to ensure consistent versions of the SDK in AzureML Pipelines #1115

Closed
@BillmanH

Description

@BillmanH

User program failed with ImportError: cannot import name 'RollingOriginValidator'

Using 1.12.0

I learned in this issue that RollingOriginValidator is caused due to discrepancies in different SDK versions in pipeline runs. Like when your local version is different than the version in which an AutoML model is trained.

Now that I've got my full code working, I'm getting an error that a PythonScriptStep has a different sdk version than the AutoMLStep. AutoMLStep doesn't accept a RunConfiguration so I have no way of controling the SDK version that AutoML will use.

My question is: Is there a way to enforce an SDK version in the AutoMLStep, so that I can get consistent outputs? OR is there a way to find out which version of the SDK the AutoMLStep is using so that I can enforce that version in pipeline runs.

Honestly, I don't see why the user is expected to sort this out. In earlier versions the cloud SDK would just sync with the SDK version used locally. Now this no longer works and users have to add this to their tech debt when using AzureML.

Full code here: https://github.com/BillmanH/learn-azureml

You can see RunConfiguration, AutoMLStep, and PythonScriptStep in the main_run.py. All of the steps work fine except for the last step score_step, which crashes due to the library importError: 'RollingOriginValidator'

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions