Expressões no SDK e na CLI v2 do Azure Machine Learning
Com o SDK e a CLI v2 do Azure Machine Learning, você pode usar expressões quando um valor pode não ser conhecido ao criar 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 enviar o trabalho ou componente. Outras expressões são avaliadas no servidor (a computação na qual o trabalho ou o componente está em execução.)
Expressões de cliente
Observação
O "cliente" que avalia a expressão é onde o trabalho é enviado ou o componente é executado. Por exemplo, seu computador local ou uma instância de computação.
Expression | Descrição | Escopo |
---|---|---|
${{inputs.<input_name>}} |
Faz referência a um ativo ou modelo de dados de entrada. | Funciona para todos os trabalhos. |
${{outputs.<output_name>}} |
Faz referência 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âmetro para cada avaliação são selecionados com base no search_space . |
Somente trabalhos de varredura. |
${{parent.inputs.<input_name>}} |
Associa as entradas de um trabalho filho (etapa de pipeline) em um pipeline às entradas do trabalho de pipeline pai de nível superior. | Somente trabalhos de pipeline. |
${{parent.outputs.<output_name>}} |
Associa 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. | Somente trabalhos de pipeline. |
${{parent.jobs.<step-name>.inputs.<input-name>}} |
Associa-se às entradas de outra etapa no pipeline. | Somente trabalhos de pipeline. |
${{parent.jobs.<step-name>.outputs.<output-name>}} |
Associa-se às saídas de outra etapa no pipeline. | Somente trabalhos de pipeline. |
Expressões de 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 a hora de criação do trabalho e a hora 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 workspace, não o estado do workspace quando o trabalho agendado foi criado. Por exemplo, se você alterar o armazenamento de dados padrão do workspace 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 | Descrição | Escopo |
---|---|---|
${{default_datastore}} |
Se o armazenamento de dados padrão estiver configurado, será resolvido como o nome do armazenamento de dados padrão do pipeline; caso contrário, será resolvido como o nome do armazenamento de dados padrão do workspace. O armazenamento de dados padrão do pipeline pode ser controlado usando pipeline_job.settings.default_datastore . |
Funciona para todos os trabalhos. Os trabalhos de pipeline têm um armazenamento de dados padrão do pipeline configurável. |
${{name}} |
O nome do trabalho. Para pipelines, é o nome do trabalho de etapa, não o nome do trabalho do 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 runtime ele será resolvido como um caminho de azureml://datastores/workspaceblobstore/paths/<job-name>/model_path
.
Próximas etapas
Para obter mais informações sobre essas expressões, consulte os seguintes artigos e exemplos: