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 modelo ou ativo 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_datastore o . |
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: