Description
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'