Command Clase
Clase base para el nodo de comandos, que se usa para el consumo de versión del componente de comandos.
No debe crear instancias de esta clase directamente. En su lugar, debe crearlo con la función builder: command().
- Herencia
-
azure.ai.ml.entities._builders.base_node.BaseNodeCommandazure.ai.ml.entities._job.pipeline._io.mixin.NodeWithGroupInputMixinCommand
Constructor
Command(*, component: str | CommandComponent, compute: str | None = None, inputs: Dict[str, Input | str | bool | int | float | Enum] | None = None, outputs: Dict[str, str | Output] | None = None, limits: CommandJobLimits | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, distribution: Dict | MpiDistribution | TensorFlowDistribution | PyTorchDistribution | RayDistribution | None = None, environment: Environment | str | None = None, environment_variables: Dict | None = None, resources: JobResourceConfiguration | None = None, services: Dict[str, JobService | JupyterLabJobService | SshJobService | TensorBoardJobService | VsCodeJobService] | None = None, queue_settings: QueueSettings | None = None, **kwargs)
Parámetros
- component
- Union[str, CommandComponent]
Identificador o instancia del componente de comando o trabajo que se va a ejecutar para el paso.
Asignación de nombres de entrada a orígenes de datos de entrada usados en el trabajo.
Asignación de nombres de salida a orígenes de datos de salida usados en el trabajo.
- limits
- CommandJobLimits
Límites para el componente de comando o el trabajo.
- identity
- Optional[Union[ dict[str, str], ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]]
Identidad que usará el trabajo de comando mientras se ejecuta en proceso.
- distribution
- Optional[Union[dict, PyTorchDistribution, MpiDistribution, TensorFlowDistribution, RayDistribution]]
Configuración de trabajos distribuidos.
- environment
- Optional[Union[str, Environment]]
Entorno en el que se ejecutará el trabajo.
Diccionario de nombres y valores de variables de entorno. Estas variables de entorno se establecen en el proceso donde se ejecuta el script de usuario.
- resources
- Optional[JobResourceConfiguration]
Configuración del recurso de proceso para el comando .
- services
- Optional[dict[str, Union[JobService, JupyterLabJobService, SshJobService, TensorBoardJobService, VsCodeJobService]]]
Servicios interactivos para el nodo. Se trata de un parámetro experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.
- queue_settings
- Optional[QueueSettings]
Configuración de cola para el trabajo.
Métodos
clear | |
copy | |
dump |
Volca el contenido del trabajo en un archivo en formato YAML. |
fromkeys |
Cree un nuevo diccionario con claves de valores iterables y establecidos en value. |
get |
Devuelve el valor de la clave si la clave está en el diccionario; de lo contrario, devuelve el valor predeterminado. |
items | |
keys | |
pop |
Si no se encuentra la clave, devuelva el valor predeterminado si se da; De lo contrario, genere un elemento KeyError. |
popitem |
Quite y devuelva un par (clave, valor) como una tupla de 2. Los pares se devuelven en orden LIFO (último en entrar, primero en salir). Genera KeyError si el dict está vacío. |
set_limits |
Establezca límites para Command. |
set_queue_settings |
Establezca QueueSettings para el trabajo. |
set_resources |
Establezca los recursos para Command. |
setdefault |
Inserte la clave con un valor predeterminado si la clave no está en el diccionario. Devuelve el valor de la clave si la clave está en el diccionario; de lo contrario, devuelve el valor predeterminado. |
sweep |
Convierte el comando en un nodo de barrido con una configuración adicional de ejecución de barrido. El componente de comando del nodo de comandos actual se usará como componente de prueba. Un nodo de comandos puede barrir varias veces y el nodo de barrido generado compartirá el mismo componente de prueba. |
update |
Si E está presente y tiene un método .keys(), entonces hace lo siguiente: para k en E: D[k] = E[k] Si E está presente y carece de un método .keys(), entonces lo hace: para k, v en E: D[k] = v En cualquier caso, esto va seguido de: para k en F: D[k] = F[k] |
values |
clear
clear() -> None. Remove all items from D.
copy
copy() -> a shallow copy of D
dump
Volca el contenido del trabajo en un archivo en formato YAML.
dump(dest: str | PathLike | IO, **kwargs) -> None
Parámetros
Ruta de acceso local o secuencia de archivos en la que se va a escribir el contenido de YAML. Si dest es una ruta de acceso de archivo, se creará un nuevo archivo. Si dest es un archivo abierto, el archivo se escribirá directamente.
- kwargs
- dict
Argumentos adicionales para pasar al serializador YAML.
Excepciones
Se genera si dest es una ruta de acceso de archivo y el archivo ya existe.
Se genera si dest es un archivo abierto y el archivo no se puede escribir.
fromkeys
Cree un nuevo diccionario con claves de valores iterables y establecidos en value.
fromkeys(value=None, /)
Parámetros
- type
- iterable
- value
get
Devuelve el valor de la clave si la clave está en el diccionario; de lo contrario, devuelve el valor predeterminado.
get(key, default=None, /)
Parámetros
- key
- default
items
items() -> a set-like object providing a view on D's items
keys
keys() -> a set-like object providing a view on D's keys
pop
Si no se encuentra la clave, devuelva el valor predeterminado si se da; De lo contrario, genere un elemento KeyError.
pop(k, [d]) -> v, remove specified key and return the corresponding value.
popitem
Quite y devuelva un par (clave, valor) como una tupla de 2.
Los pares se devuelven en orden LIFO (último en entrar, primero en salir). Genera KeyError si el dict está vacío.
popitem()
set_limits
Establezca límites para Command.
set_limits(*, timeout: int, **kwargs) -> None
Parámetros
- timeout
- int
Tiempo de espera del trabajo en segundos.
Ejemplos
Establecer un límite de tiempo de espera de 10 segundos en un comando.
from azure.ai.ml import Input, Output, command
command_node = command(
environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu:33",
command='echo "hello world"',
distribution={"type": "Pytorch", "process_count_per_instance": 2},
inputs={
"training_data": Input(type="uri_folder"),
"max_epochs": 20,
"learning_rate": 1.8,
"learning_rate_schedule": "time-based",
},
outputs={"model_output": Output(type="uri_folder")},
)
command_node.set_limits(timeout=10)
set_queue_settings
Establezca QueueSettings para el trabajo.
set_queue_settings(*, job_tier: str | None = None, priority: str | None = None) -> None
Parámetros
Nivel de trabajo. Los valores aceptados son "Spot", "Basic", "Standard" o "Premium".
Ejemplos
Configuración de las opciones de cola en un comando.
from azure.ai.ml import Input, Output, command
command_node = command(
environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu:33",
command='echo "hello world"',
distribution={"type": "Pytorch", "process_count_per_instance": 2},
inputs={
"training_data": Input(type="uri_folder"),
"max_epochs": 20,
"learning_rate": 1.8,
"learning_rate_schedule": "time-based",
},
outputs={"model_output": Output(type="uri_folder")},
)
command_node.set_queue_settings(job_tier="standard", priority="medium")
set_resources
Establezca los recursos para Command.
set_resources(*, instance_type: str | List[str] | None = None, instance_count: int | None = None, locations: List[str] | None = None, properties: Dict | None = None, docker_args: str | None = None, shm_size: str | None = None, **kwargs) -> None
Parámetros
Tipo de instancia de proceso en la que se va a ejecutar el trabajo. Si no se especifica, el trabajo se ejecutará en el destino de proceso predeterminado.
Número de instancias en las que se va a ejecutar el trabajo. Si no se especifica, el trabajo se ejecutará en una sola instancia.
Lista de ubicaciones donde se ejecutará el trabajo. Si no se especifica, el trabajo se ejecutará en el destino de proceso predeterminado.
El tamaño del bloque de memoria compartida del contenedor docker. Debe estar en el formato de (número)(unidad) donde el número debe ser mayor que 0 y la unidad puede ser uno de b(bytes), k(kilobytes), m(megabytes) o g(gigabytes).
Ejemplos
Establecer recursos en un comando.
from azure.ai.ml import Input, Output, command
command_node = command(
environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu:33",
command='echo "hello world"',
distribution={"type": "Pytorch", "process_count_per_instance": 2},
inputs={
"training_data": Input(type="uri_folder"),
"max_epochs": 20,
"learning_rate": 1.8,
"learning_rate_schedule": "time-based",
},
outputs={"model_output": Output(type="uri_folder")},
)
command_node.set_resources(
instance_count=1,
instance_type="STANDARD_D2_v2",
properties={"key": "new_val"},
shm_size="3g",
)
setdefault
Inserte la clave con un valor predeterminado si la clave no está en el diccionario.
Devuelve el valor de la clave si la clave está en el diccionario; de lo contrario, devuelve el valor predeterminado.
setdefault(key, default=None, /)
Parámetros
- key
- default
sweep
Convierte el comando en un nodo de barrido con una configuración adicional de ejecución de barrido. El componente de comando del nodo de comandos actual se usará como componente de prueba. Un nodo de comandos puede barrir varias veces y el nodo de barrido generado compartirá el mismo componente de prueba.
sweep(*, primary_metric: str, goal: str, sampling_algorithm: str = 'random', compute: str | None = None, max_concurrent_trials: int | None = None, max_total_trials: int | None = None, timeout: int | None = None, trial_timeout: int | None = None, early_termination_policy: EarlyTerminationPolicy | str | None = None, search_space: Dict[str, Choice | LogNormal | LogUniform | Normal | QLogNormal | QLogUniform | QNormal | QUniform | Randint | Uniform] | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, queue_settings: QueueSettings | None = None, job_tier: str | None = None, priority: str | None = None) -> Sweep
Parámetros
- primary_metric
- str
La métrica principal del objetivo de barrido, por ejemplo, AUC (área bajo la curva). La métrica se debe registrar mientras se ejecuta el componente de prueba.
- goal
- str
Objetivo del objetivo De barrido. Los valores aceptados son "minimizar" o "maximizar".
- sampling_algorithm
- str
Algoritmo de muestreo que se va a usar dentro del espacio de búsqueda. Los valores aceptables son "random", "grid" o "bayesian". El valor predeterminado es "random".
Proceso de destino en el que se va a ejecutar el nodo. Si no se especifica, se usará el proceso del nodo actual.
Número máximo de pruebas totales que se van a ejecutar. Este valor sobrescribirá el valor en CommandJob.limits si se especifica.
Número máximo de pruebas simultáneas para el trabajo de barrido.
Duración máxima de la ejecución en segundos, después de la cual se cancelará el trabajo.
Valor de tiempo de espera de prueba del trabajo de barrido, en segundos.
- early_termination_policy
- Optional[Union[BanditPolicy, TruncationSelectionPolicy, MedianStoppingPolicy, str]]
Directiva de terminación anticipada del nodo de barrido. Los valores aceptables son "bandit", "median_stopping" o "truncation_selection". El valor predeterminado es None.
- identity
- Optional[Union[ ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]]
La identidad que usará el trabajo mientras se ejecuta en el proceso.
- queue_settings
- Optional[QueueSettings]
La configuración de cola del trabajo.
Experimental Nivel de trabajo. Los valores aceptados son "Spot", "Basic", "Standard" o "Premium".
Experimental Prioridad de proceso. Los valores aceptados son "low", "medium" y "high".
Devoluciones
Un nodo De barrido con el componente del nodo Command actual como componente de prueba.
Tipo de valor devuelto
Ejemplos
Crear un nodo De barrido desde un trabajo de comando.
from azure.ai.ml import command
job = command(
inputs=dict(kernel="linear", penalty=1.0),
compute=cpu_cluster,
environment=f"{job_env.name}:{job_env.version}",
code="./scripts",
command="python scripts/train.py --kernel $kernel --penalty $penalty",
experiment_name="sklearn-iris-flowers",
)
# we can reuse an existing Command Job as a function that we can apply inputs to for the sweep configurations
from azure.ai.ml.sweep import Uniform
job_for_sweep = job(
kernel=Uniform(min_value=0.0005, max_value=0.005),
penalty=Uniform(min_value=0.9, max_value=0.99),
)
from azure.ai.ml.sweep import BanditPolicy
sweep_job = job_for_sweep.sweep(
sampling_algorithm="random",
primary_metric="best_val_acc",
goal="Maximize",
max_total_trials=8,
max_concurrent_trials=4,
early_termination_policy=BanditPolicy(slack_factor=0.15, evaluation_interval=1, delay_evaluation=10),
)
update
Si E está presente y tiene un método .keys(), entonces hace lo siguiente: para k en E: D[k] = E[k] Si E está presente y carece de un método .keys(), entonces lo hace: para k, v en E: D[k] = v En cualquier caso, esto va seguido de: para k en F: D[k] = F[k]
update([E], **F) -> None. Update D from dict/iterable E and F.
values
values() -> an object providing a view on D's values
Atributos
base_path
Ruta de acceso base del recurso.
Devoluciones
Ruta de acceso base del recurso.
Tipo de valor devuelto
code
command
component
Identificador o instancia del componente de comando o trabajo que se va a ejecutar para el paso.
Devoluciones
Identificador o instancia del componente de comando o trabajo que se va a ejecutar para el paso.
Tipo de valor devuelto
creation_context
Contexto de creación del recurso.
Devoluciones
Metadatos de creación del recurso.
Tipo de valor devuelto
distribution
Configuración del componente de comando distribuido o del trabajo.
Devoluciones
Configuración de trabajos distribuidos.
Tipo de valor devuelto
id
El identificador del recurso.
Devoluciones
Identificador global del recurso, un identificador de Azure Resource Manager (ARM).
Tipo de valor devuelto
identity
La identidad que usará el trabajo mientras se ejecuta en el proceso.
Devoluciones
La identidad que usará el trabajo mientras se ejecuta en el proceso.
Tipo de valor devuelto
inputs
Obtenga las entradas del objeto .
Devoluciones
Diccionario que contiene las entradas del objeto .
Tipo de valor devuelto
log_files
Archivos de salida del trabajo.
Devoluciones
Diccionario de nombres de registro y direcciones URL.
Tipo de valor devuelto
name
outputs
Obtiene las salidas del objeto .
Devoluciones
Diccionario que contiene las salidas del objeto .
Tipo de valor devuelto
parameters
Parámetros de MLFlow que se registrarán durante el trabajo.
Devoluciones
Parámetros de MLFlow que se registrarán durante el trabajo.
Tipo de valor devuelto
queue_settings
La configuración de la cola para el componente de comando o el trabajo.
Devoluciones
La configuración de la cola para el componente de comando o el trabajo.
Tipo de valor devuelto
resources
Configuración del recurso de proceso para el componente de comando o el trabajo.
Tipo de valor devuelto
services
Servicios interactivos para el nodo.
Se trata de un parámetro experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.
Tipo de valor devuelto
status
El estado del trabajo.
Los valores comunes devueltos incluyen "Running", "Completed" y "Failed". Todos los valores posibles son:
NotStarted: se trata de un estado temporal en el que se encuentran los objetos Run del lado cliente antes del envío en la nube.
Starting: la ejecución ha empezado a procesarse en la nube. El autor de la llamada tiene un identificador de ejecución en este momento.
Aprovisionamiento: el proceso a petición se está creando para un envío de trabajo determinado.
Preparación: el entorno de ejecución se está preparando y se encuentra en una de estas dos fases:
Compilación de imágenes de Docker
configuración del entorno Conda
En cola: el trabajo se pone en cola en el destino de proceso. Por ejemplo, en BatchAI, el trabajo está en estado en cola.
mientras espera a que todos los nodos solicitados estén listos.
En ejecución: el trabajo se ha iniciado para ejecutarse en el destino de proceso.
Finalización: la ejecución del código de usuario se ha completado y la ejecución está en fases posteriores al procesamiento.
CancelRequested: se ha solicitado la cancelación del trabajo.
Completado: la ejecución se ha completado correctamente. Esto incluye tanto la ejecución del código de usuario como la ejecución
posteriores al procesamiento de la ejecución.
Failed: error en la ejecución. Normalmente, la propiedad Error de una ejecución proporcionará detalles sobre por qué se produjo el error.
Canceled: sigue a una solicitud de cancelación e indica que la ejecución se ha cancelado correctamente.
NotResponding: en el caso de las ejecuciones que tienen los latidos habilitados, no se ha enviado recientemente ningún latido.
Devoluciones
Estado del trabajo.
Tipo de valor devuelto
studio_url
Punto de conexión de Azure ML Studio.
Devoluciones
Dirección URL de la página de detalles del trabajo.
Tipo de valor devuelto
type
Azure SDK for Python