Expressões no SDK do Azure Machine Learning e na CLI v2

Com o SDK do Azure Machine Learning e a CLI v2, você pode usar expressões quando um valor pode não ser conhecido quando você está criando um trabalho ou componente. Quando você envia um trabalho ou chama um componente, a expressão é avaliada e o valor é substituído.

O formato de uma expressão é ${{ <expression> }}. Algumas expressões são avaliadas no cliente, ao submeter o trabalho ou componente. Outras expressões são avaliadas no servidor (a computação em que o trabalho ou componente está sendo executado).

Expressões do cliente

Nota

O "cliente" que avalia a expressão é onde o trabalho é enviado ou o componente é executado. Por exemplo, sua máquina local ou uma instância de computação.

Expression Description Scope
${{inputs.<input_name>}} Referências a um modelo ou ativo de dados de entrada. Funciona para todos os trabalhos.
${{outputs.<output_name>}} Referências a um ativo ou modelo de dados de saída. Funciona para todos os trabalhos.
${{search_space.<hyperparameter>}} Faz referência aos hiperparâmetros a serem usados em um trabalho de varredura. Os valores de hiperparâmetros para cada ensaio são selecionados com base no search_space. Varrer apenas trabalhos.
${{parent.inputs.<input_name>}} Vincula as entradas de um trabalho filho (etapa de pipeline) em um pipeline às entradas do trabalho de pipeline pai de nível superior. Apenas trabalhos de pipeline.
${{parent.outputs.<output_name>}} Vincula as saídas de um trabalho filho (etapa de pipeline) em um pipeline às saídas do trabalho de pipeline pai de nível superior. Apenas trabalhos de pipeline.
${{parent.jobs.<step-name>.inputs.<input-name>}} Liga-se às entradas de outra etapa no pipeline. Apenas trabalhos de pipeline.
${{parent.jobs.<step-name>.outputs.<output-name>}} Liga-se às saídas de outra etapa no pipeline. Apenas trabalhos de pipeline.

Expressões do servidor

Importante

As expressões a seguir são resolvidas no lado do servidor, não no lado do cliente. Para trabalhos agendados em que o tempo de criação e o tempo de envio do trabalho são diferentes, as expressões são resolvidas quando o trabalho é enviado. Como essas expressões são resolvidas no lado do servidor, elas usam o estado atual do espaço de trabalho, não o estado do espaço de trabalho quando o trabalho agendado foi criado. Por exemplo, se você alterar o armazenamento de dados padrão do espaço de trabalho depois de criar um trabalho agendado, a expressão ${{default_datastore}} será resolvida para o novo armazenamento de dados padrão, não para o armazenamento de dados padrão quando o trabalho agendado foi criado.

Expression Description Scope
${{default_datastore}} Se o armazenamento de dados padrão do pipeline estiver configurado, será resolvido como o nome do armazenamento de dados padrão do pipeline; caso contrário, é resolvido como nome do armazenamento de dados padrão do espaço de trabalho.

O armazenamento de dados padrão do pipeline pode ser controlado usando pipeline_job.settings.default_datastoreo .
Funciona para todos os trabalhos.

Os trabalhos de pipeline têm um armazenamento de dados padrão de pipeline configurável.
${{name}} O nome do trabalho. Para pipelines, é o nome do trabalho de etapa, não o nome do trabalho de pipeline. Funciona para todos os trabalhos
${{output_name}} O nome de saída do trabalho Funciona para todos os trabalhos

Por exemplo, se azureml://datastores/${{default_datastore}}/paths/${{name}}/${{output_name}} for usado como o caminho de saída, em tempo de execução ele será resolvido como um caminho de azureml://datastores/workspaceblobstore/paths/<job-name>/model_path.

Próximos passos

Para obter mais informações sobre essas expressões, consulte os seguintes artigos e exemplos: