I've recently started working with the Azure ML python SDKv2.
I'm looking to fine-tune models with my sample of data and was hoping to incorporate different pre-trained models as starting points in my fine-tuning sweep job.
I have a normal fine-tuning pipeline working fine and have been using this guidance to attempt to convert my pipeline to have a sweep step which include choosing separate embedding dictionary starting points (embs are a registered datasets containing a dictionary of word embeddings). https://learn.microsoft.com/en-us/azure/machine-learning/how-to-use-sweep-in-pipeline
I've attempted to use Choice to provide Input options as you do in a normal pipeline as well as trying to pass just the path strings. However, when I run I get the issue below.
Choice([Input(type = "uri_file", path = "azureml:embsa:1"),
Input(type = "uri_file", path = "azureml:embsb:1"),
Input(type = "uri_file", path = "azureml:embsc:1"),
Input(type = "uri_file", path = "azureml:embsd:1")])
Invalid component job since input x for component job Y expecting data with types UriFile has been assigned literal value.
I'm assuming this is because the Choice object is doing something different than just iterating through the list provided, but not really sure I know where to look next.
My question is essentially, is it possible to pass registered datasets as a Choice into a sweep step? if so, how might this be achieved?
Currently it's not supported, we define search_space for hyperparameter sweep in inputs of train_model and call train_model.sweep() to create a sweep node based on train_model with specific run settings.