Expresiones en el SDK de Azure Machine Learning y la CLI v2

Con el SDK de Azure Machine Learning y la CLI v2, puede usar expresiones cuando es posible que no se conozca un valor al crear un trabajo o componente. Al enviar un trabajo o llamar a un componente, la expresión se evalúa y el valor se sustituye.

El formato de una expresión es ${{ <expression> }}. Algunas expresiones se evalúan en el cliente al enviar el trabajo o componente. Otras expresiones se evalúan en el servidor (el proceso en el que se ejecuta el trabajo o el componente).

Expresiones de cliente

Nota:

El "cliente" que evalúa la expresión es donde se envía el trabajo o se ejecuta el componente. Por ejemplo, la máquina local o una instancia de proceso.

Expression Descripción Ámbito
${{inputs.<input_name>}} Hace referencia a un recurso o modelo de datos de entrada. Funciona para todos los trabajos.
${{outputs.<output_name>}} Hace referencia a un recurso o modelo de datos de salida. Funciona para todos los trabajos.
${{search_space.<hyperparameter>}} Hace referencia a los hiperparámetros que se usarán en un trabajo de barrido. Los valores de hiperparámetros de cada prueba se seleccionan en función de search_space. Solo trabajos de barrido.
${{parent.inputs.<input_name>}} Enlaza las entradas de un trabajo secundario (paso de canalización) en una canalización a las entradas del trabajo de canalización primaria de nivel superior. Solo trabajos de canalización.
${{parent.outputs.<output_name>}} Enlaza las salidas de un trabajo secundario (paso de canalización) en una canalización a las salidas del trabajo de canalización primaria de nivel superior. Solo trabajos de canalización.
${{parent.jobs.<step-name>.inputs.<input-name>}} Enlaza las entradas de otro paso de la canalización. Solo trabajos de canalización.
${{parent.jobs.<step-name>.outputs.<output-name>}} Enlaza las salidas de otro paso de la canalización. Solo trabajos de canalización.

Expresiones de servidor

Importante

Las expresiones siguientes se resuelven en el lado servidor, no en el lado cliente. En el caso de los trabajos programados en los que la hora de creación del trabajo y la hora de envío son diferentes, las expresiones se resuelven cuando se envía el trabajo. Dado que estas expresiones se resuelven en el lado servidor, usan el estado actual del área de trabajo, no el estado del área de trabajo de cuando se creó el trabajo programado. Por ejemplo, si cambia el almacén de datos predeterminado del área de trabajo una vez creado un trabajo programado, la expresión ${{default_datastore}} se resuelve en el nuevo almacén de datos predeterminado, no en el almacén de datos predeterminado cuando se creó el trabajo programado.

Expression Descripción Ámbito
${{default_datastore}} Si se configura el almacén de datos predeterminado de canalización, se resuelve como nombre predeterminado del almacén de datos de canalización; de lo contrario, se resuelve como nombre predeterminado del almacén de datos del área de trabajo.

El almacén de datos predeterminado de canalización se puede controlar utilizando pipeline_job.settings.default_datastore.
Funciona para todos los trabajos.

Los trabajos de canalización tienen un almacén de datos predeterminado de canalización configurable.
${{name}} Nombre del trabajo. En el caso de las canalizaciones, es el nombre del trabajo del paso, no el nombre del trabajo de canalización. Funciona para todos los trabajos
${{output_name}} El nombre de la salida del trabajo Funciona para todos los trabajos

Por ejemplo, si azureml://datastores/${{default_datastore}}/paths/${{name}}/${{output_name}} se usa como ruta de acceso de salida, en runtime se resuelve como una ruta de acceso de azureml://datastores/workspaceblobstore/paths/<job-name>/model_path.

Pasos siguientes

Para obtener más información sobre estas expresiones, consulte los siguientes artículos y ejemplos: