Espressioni in Azure Machine Learning SDK e nell'interfaccia della riga di comando v2

Con Azure Machine Learning SDK e l'interfaccia della riga di comando v2, è possibile usare espressioni quando un valore potrebbe non essere noto quando si crea un processo o un componente. Quando si invia un processo o si chiama un componente, l'espressione viene valutata e il valore viene sostituito.

Il formato per un'espressione è ${{ <expression> }}. Alcune espressioni vengono valutate nel clientquando si invia il processo o il componente. Altre espressioni vengono valutate nel server (il calcolo in cui è in esecuzione il processo o il componente).

Espressioni client

Nota

Il "client" che valuta l'espressione è la posizione in cui viene eseguito il processo o il componente. Ad esempio, il computer locale o un'istanza di ambiente di calcolo.

Expression Descrizione Scope
${{inputs.<input_name>}} Riferimenti a un asset o un modello di dati di input. Funziona per tutti i processi.
${{outputs.<output_name>}} Riferimenti a un asset o un modello di dati di output. Funziona per tutti i processi.
${{search_space.<hyperparameter>}} Fa riferimento agli iper-parametri da usare in un processo sweep. I valori degli iper-parametri per ogni prova vengono selezionati in base a search_space. Solo processi sweep.
${{parent.inputs.<input_name>}} Associa gli input di un processo figlio (passaggio della pipeline) in una pipeline agli input del processo della pipeline padre di primo livello. Solo processi della pipeline.
${{parent.outputs.<output_name>}} Associa gli output di un processo figlio (passaggio della pipeline) in una pipeline agli output del processo della pipeline padre di primo livello. Solo processi della pipeline.
${{parent.jobs.<step-name>.inputs.<input-name>}} Esegue il binding agli input di un altro passaggio della pipeline. Solo processi della pipeline.
${{parent.jobs.<step-name>.outputs.<output-name>}} Esegue il binding agli output di un altro passaggio della pipeline. Solo processi della pipeline.

Espressioni server

Importante

Le espressioni seguenti vengono risolte sul lato server, non sul lato client. Per i processi pianificati in cui l'ora di creazione del processo e l'ora di invio del processo sono diverse, le espressioni vengono risolte quando viene inviato il processo. Poiché queste espressioni vengono risolte sul lato server, usano lo stato corrente dell'area di lavoro, non lo stato dell'area di lavoro al momento della creazione del processo pianificato. Ad esempio, se si modifica l'archivio dati predefinito dell'area di lavoro dopo aver creato un processo pianificato, l'espressione ${{default_datastore}} viene risolta nel nuovo archivio dati predefinito, non nell'archivio dati predefinito al momento della creazione del processo pianificato.

Expression Descrizione Scope
${{default_datastore}} Se l'archivio dati predefinito della pipeline è configurato, viene risolto come nome predefinito dell'archivio dati della pipeline; in caso contrario, viene risolto come nome predefinito dell'archivio dati dell'area di lavoro.

L'archivio dati predefinito della pipeline può essere controllato tramite pipeline_job.settings.default_datastore.
Funziona per tutti i processi.

I processi della pipeline hanno un archivio dati predefinito della pipeline configurabile.
${{name}} Nome processo. Per le pipeline, si tratta del nome del processo del passaggio, non del nome del processo della pipeline. Funziona per tutti i processi
${{output_name}} Nome dell'output del processo Funziona per tutti i processi

Ad esempio, se azureml://datastores/${{default_datastore}}/paths/${{name}}/${{output_name}} viene usato come percorso di output, in fase di esecuzione viene risolto come percorso di azureml://datastores/workspaceblobstore/paths/<job-name>/model_path.

Passaggi successivi

Per altre informazioni su queste espressioni, vedere gli articoli e gli esempi seguenti: