Compartir a través de


Run Clase

Define la clase base para todas las ejecuciones de experimentos de Azure Machine Learning.

Una ejecución representa una sola versión de prueba de un experimento. Las ejecuciones se usan para supervisar la ejecución asincrónica de una prueba, las métricas de registro y la salida de la prueba, y para analizar los resultados y acceder a los artefactos generados por la prueba.

Los objetos de ejecución se crean al enviar un script para entrenar un modelo en muchos escenarios diferentes de Azure Machine Learning, incluidas las ejecuciones de HyperDrive, las ejecuciones de canalización y las ejecuciones de AutoML. También se crea un objeto Run cuando se usa submit o start_logging con la Experiment clase .

Para empezar a trabajar con experimentos y ejecuciones, consulte

Inicialice el objeto Run.

Constructor

Run(experiment, run_id, outputs=None, **kwargs)

Parámetros

Nombre Description
experiment
Requerido

El experimento contenedor.

run_id
Requerido
str

Identificador de la ejecución.

outputs
str

Salidas de las que se va a realizar el seguimiento.

Valor predeterminado: None
_run_dto
Requerido
<xref:azureml._restclient.models.run_dto.RunDto>

Solo para uso interno.

kwargs
Requerido

Diccionario de parámetros de configuración adicionales.

experiment
Requerido

El experimento contenedor.

run_id
Requerido
str

Identificador de la ejecución.

outputs
Requerido
str

Salidas de las que se va a realizar el seguimiento.

kwargs
Requerido

Diccionario de parámetros de configuración adicionales.

Comentarios

Una ejecución representa una sola versión de prueba de un experimento. Un objeto Run se usa para supervisar la ejecución asincrónica de una prueba, las métricas de registro y la salida de la prueba, y para analizar los resultados y acceder a los artefactos generados por la prueba.

La ejecución se usa dentro del código de experimentación para registrar métricas y artefactos en el servicio Historial de ejecución.

La ejecución se usa fuera de los experimentos para supervisar el progreso y consultar y analizar las métricas y los resultados que se generaron.

La funcionalidad de Ejecución incluye:

  • Almacenamiento y recuperación de métricas y datos

  • Carga y descarga de archivos

  • Uso de etiquetas, así como la jerarquía secundaria para una búsqueda sencilla de ejecuciones anteriores

  • Registro de archivos de modelo almacenados como un modelo que se puede poner en funcionamiento

  • Almacenamiento, modificación y recuperación de propiedades de una ejecución

  • Carga de la ejecución actual desde un entorno remoto con el get_context método

  • Crear instantáneas eficaces de un archivo o directorio para la reproducibilidad

Esta clase funciona con en Experiment estos escenarios:

  • Creación de una ejecución mediante la ejecución de código mediante submit

  • Creación de una ejecución interactiva en un cuaderno mediante start_logging

  • Registro de métricas y carga de artefactos en el experimento, como cuando se usa log

  • Lectura de métricas y descarga de artefactos al analizar resultados experimentales, como cuando se usa get_metrics

Para enviar una ejecución, cree un objeto de configuración que describa cómo se ejecuta el experimento. Estos son ejemplos de los diferentes objetos de configuración que puede usar:

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.train.hyperdrive.HyperDriveConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

Las métricas siguientes se pueden agregar a una ejecución durante el entrenamiento de un experimento.

  • Escalar

    • Registre un valor numérico o de cadena en la ejecución con el nombre especificado mediante log. El registro de una métrica en una ejecución hace que esa métrica se almacene en el registro de ejecución del experimento. Puede registrar la misma métrica varias veces dentro de una ejecución, el resultado que se considera un vector de esa métrica.

    • Ejemplo: run.log("accuracy", 0.95)

  • Lista

    • Registre una lista de valores en la ejecución con el nombre especificado mediante log_list.

    • Ejemplo: run.log_list("accuracies", [0.6, 0.7, 0.87])

  • Fila

    • El uso de log_row crea una métrica con varias columnas, como se describe en kwargs. Cada parámetro con nombre genera una columna con el valor especificado. log_row se puede llamar una vez para registrar una tupla arbitraria o varias veces en un bucle para generar una tabla completa.

    • Ejemplo: run.log_row("Y over X", x=1, y=0.4)

  • Tabla

    • Registre un objeto de diccionario en la ejecución con el nombre especificado mediante log_table.

    • Ejemplo: run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})

  • Imagen

    • Registre una imagen en el registro de ejecución. Use log_image para registrar un archivo de imagen o un trazado matplotlib en la ejecución. Estas imágenes serán visibles y comparables en el registro de ejecución.

    • Ejemplo: run.log_image("ROC", path)

Métodos

add_properties

Agregue propiedades inmutables a la ejecución.

Las etiquetas y las propiedades (ambos dict[str, str]) difieren en su mutabilidad. Las propiedades son inmutables, por lo que crean un registro permanente con fines de auditoría. Las etiquetas son mutables. Para obtener más información sobre cómo trabajar con etiquetas y propiedades, vea Etiquetas y ejecuciones de búsqueda.

add_type_provider

Enlace de extensibilidad para tipos de ejecución personalizados almacenados en historial de ejecución.

cancel

Marque la ejecución como cancelada.

Si hay un trabajo asociado con un campo cancel_uri establecido, finalice ese trabajo también.

child_run

Cree una ejecución secundaria.

clean

Quite los archivos correspondientes a la ejecución actual en el destino especificado en la configuración de ejecución.

complete

Espere a que se procese la cola de tareas.

A continuación, la ejecución se marca como completada. Normalmente se usa en escenarios de cuadernos interactivos.

create_children

Cree una o varias ejecuciones secundarias.

download_file

Descargue un archivo asociado desde el almacenamiento.

download_files

Descargue archivos de un prefijo de almacenamiento determinado (nombre de carpeta) o del contenedor completo si no se especifica el prefijo.

fail

Marque la ejecución como errónea.

Opcionalmente, establezca la propiedad Error de la ejecución con un mensaje o excepción pasado a error_details.

flush

Espere a que se procese la cola de tareas.

get

Obtenga la ejecución de este área de trabajo con su identificador de ejecución.

get_all_logs

Descargue todos los registros de la ejecución en un directorio.

get_children

Obtenga todos los elementos secundarios de la ejecución actual seleccionada por los filtros especificados.

get_context

Devuelve el contexto del servicio actual.

Use este método para recuperar el contexto del servicio actual para registrar métricas y cargar archivos. Si allow_offline es True (valor predeterminado), las acciones en el objeto Run se imprimirán para estándar.

get_detailed_status

Capture el estado más reciente de la ejecución. Si el estado de la ejecución es "Queued", se mostrarán los detalles.

get_details

Obtenga la definición, la información de estado, los archivos de registro actuales y otros detalles de la ejecución.

get_details_with_logs

Devuelve el estado de ejecución, incluido el contenido del archivo de registro.

get_environment

Obtenga la definición de entorno que usó esta ejecución.

get_file_names

Enumere los archivos almacenados en asociación con la ejecución.

get_metrics

Recupere las métricas registradas en la ejecución.

Si recursive es True (False de forma predeterminada), capture las métricas para las ejecuciones en el subárbol de la ejecución especificada.

get_properties

Capture las propiedades más recientes de la ejecución desde el servicio.

get_secret

Obtenga el valor secreto del contexto de una ejecución.

Obtenga el valor del secreto para el nombre proporcionado. El nombre del secreto hace referencia a un valor almacenado en Azure Key Vault asociado al área de trabajo. Para obtener un ejemplo de cómo trabajar con secretos, consulte Uso de secretos en ejecuciones de entrenamiento.

get_secrets

Obtenga los valores secretos de una lista determinada de nombres secretos.

Obtenga un diccionario de secretos encontrados y no encontrados para la lista de nombres proporcionados. Cada nombre secreto hace referencia a un valor almacenado en Azure Key Vault asociado al área de trabajo. Para obtener un ejemplo de cómo trabajar con secretos, consulte Uso de secretos en ejecuciones de entrenamiento.

get_snapshot_id

Obtenga el identificador de instantánea más reciente.

get_status

Capture el estado más reciente de la ejecución.

Los valores comunes devueltos incluyen "Running", "Completed" y "Failed".

get_submitted_run

OBSOLESCENTE. Utilice get_context.

Obtenga la ejecución enviada para este experimento.

get_tags

Capture el conjunto más reciente de etiquetas mutables en la ejecución desde el servicio.

list

Obtenga una lista de ejecuciones en un experimento especificado por filtros opcionales.

list_by_compute

Obtenga una lista de ejecuciones en un proceso especificado por filtros opcionales.

log

Registre un valor de métrica en la ejecución con el nombre especificado.

log_accuracy_table

Registre una tabla de precisión en el almacén de artefactos.

La métrica de tabla de precisión es una métrica multiuso que no es escalar que se puede usar para generar varios tipos de gráficos de líneas que varían continuamente sobre el espacio de probabilidades previstas. Algunos ejemplos de estos gráficos son ROC, precisión-recuperación y curvas de elevación.

El cálculo de la tabla de precisión es similar al cálculo de una curva ROC. Una curva ROC almacena tasas positivas verdaderas y tasas de falsos positivos a muchos umbrales de probabilidad diferentes. La tabla de precisión almacena el número sin procesar de verdaderos positivos, falsos positivos, verdaderos negativos y falsos negativos en muchos umbrales de probabilidad.

Hay dos métodos que se usan para seleccionar umbrales: "probabilidad" y "percentil". Difieren en cómo se muestrean del espacio de probabilidades predichas.

Los umbrales de probabilidad son umbrales espaciados uniformemente entre 0 y 1. Si NUM_POINTS es 5, los umbrales de probabilidad serían [0,0, 0,25, 0,5, 0,75, 1,0].

Los umbrales de percentil están espaciados según la distribución de probabilidades previstas. Cada umbral corresponde al percentil de los datos a un umbral de probabilidad. Por ejemplo, si NUM_POINTS es 5, el primer umbral estaría en el percentil 0, el segundo en el percentil 25, el tercero en el 50, etc.

Las tablas de probabilidad y las tablas de percentil son listas 3D donde la primera dimensión representa la etiqueta de clase, la segunda dimensión representa la muestra en un umbral (escalas con NUM_POINTS) y la tercera dimensión siempre tiene 4 valores: TP, FP, TN, FN y siempre en ese orden.

Los valores de confusión (TP, FP, TN, FN) se calculan con la estrategia uno frente al resto. Consulte el vínculo siguiente para obtener más detalles: https://en.wikipedia.org/wiki/Multiclass_classification

N = número de muestras del conjunto de datos de validación (200 en el ejemplo) M = # umbrales = # muestras tomadas del espacio de probabilidad (5 en el ejemplo) C = # clases del conjunto de datos completo (3 en el ejemplo)

Algunas invariables de la tabla de precisión:

  • TP + FP + TN + FN = N para todos los umbrales de todas las clases
  • TP + FN es el mismo en todos los umbrales de cualquier clase.
  • TN + FP es el mismo en todos los umbrales de cualquier clase.
  • Las tablas de probabilidad y las tablas de percentil tienen forma [C, M, 4]

Nota: M puede ser cualquier valor y controla la resolución de los gráficos Esto es independiente del conjunto de datos, se define al calcular las métricas y elimina el espacio de almacenamiento, el tiempo de cálculo y la resolución.

Las etiquetas de clase deben ser cadenas, los valores de confusión deben ser enteros y los umbrales deben ser floats.

log_confusion_matrix

Registre una matriz de confusión en el almacén de artefactos.

Esto registra un contenedor alrededor de la matriz de confusión sklearn. Los datos de métricas contienen las etiquetas de clase y una lista 2D para la propia matriz. Consulte el vínculo siguiente para obtener más información sobre cómo se calcula la métrica: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html

log_image

Registre una métrica de imagen en el registro de ejecución.

log_list

Registre una lista de valores de métricas en la ejecución con el nombre especificado.

log_predictions

Registre predicciones en el almacén de artefactos.

Esto registra una puntuación de métrica que se puede usar para comparar las distribuciones de valores de destino verdaderos con la distribución de valores previstos para una tarea de regresión.

Las predicciones están binned y las desviaciones estándar se calculan para las barras de error en un gráfico de líneas.

log_residuals

Registre los valores residuales en el almacén de artefactos.

Esto registra los datos necesarios para mostrar un histograma de valores residuales para una tarea de regresión. Los valores residuales se predicen: reales.

Debe haber un borde más que el número de recuentos. Consulte la documentación del histograma numpy para obtener ejemplos de uso de recuentos y bordes para representar un histograma. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

log_row

Registre una métrica de fila en la ejecución con el nombre especificado.

log_table

Registre una métrica de tabla en la ejecución con el nombre especificado.

register_model

Registre un modelo para la operacionalización.

remove_tags

Elimine la lista de etiquetas mutables en esta ejecución.

restore_snapshot

Restaure una instantánea como un archivo ZIP. Devuelve la ruta de acceso al archivo ZIP.

set_tags

Agregue o modifique un conjunto de etiquetas en la ejecución. Las etiquetas que no se pasan en el diccionario se dejan intactas.

También puede agregar etiquetas de cadena simples. Cuando estas etiquetas aparecen en el diccionario de etiquetas como claves, tienen un valor none. Para obtener más información, consulte Etiquetas y ejecuciones de búsqueda.

start

Marque la ejecución como iniciada.

Normalmente se usa en escenarios avanzados cuando otro actor ha creado la ejecución.

submit_child

Envíe un experimento y devuelva la ejecución secundaria activa.

tag

Etiquete la ejecución con una clave de cadena y un valor de cadena opcional.

take_snapshot

Guarde una instantánea del archivo o carpeta de entrada.

upload_file

Cargue un archivo en el registro de ejecución.

upload_files

Cargue los archivos en el registro de ejecución.

upload_folder

Cargue la carpeta especificada en el nombre de prefijo especificado.

wait_for_completion

Espere a que finalice esta ejecución. Devuelve el objeto de estado después de la espera.

add_properties

Agregue propiedades inmutables a la ejecución.

Las etiquetas y las propiedades (ambos dict[str, str]) difieren en su mutabilidad. Las propiedades son inmutables, por lo que crean un registro permanente con fines de auditoría. Las etiquetas son mutables. Para obtener más información sobre cómo trabajar con etiquetas y propiedades, vea Etiquetas y ejecuciones de búsqueda.

add_properties(properties)

Parámetros

Nombre Description
properties
Requerido

Propiedades ocultas almacenadas en el objeto de ejecución.

add_type_provider

Enlace de extensibilidad para tipos de ejecución personalizados almacenados en historial de ejecución.

static add_type_provider(runtype, run_factory)

Parámetros

Nombre Description
runtype
Requerido
str

Valor de Run.type para el que se invocará el generador. Algunos ejemplos son "hyperdrive" o "azureml.scriptrun", pero se pueden ampliar con tipos personalizados.

run_factory
Requerido
<xref:function>

Función con firma (Experimento, RunDto):> ejecute para invocarse al enumerar ejecuciones.

cancel

Marque la ejecución como cancelada.

Si hay un trabajo asociado con un campo cancel_uri establecido, finalice ese trabajo también.

cancel()

child_run

Cree una ejecución secundaria.

child_run(name=None, run_id=None, outputs=None)

Parámetros

Nombre Description
name
str

Un nombre opcional para la ejecución secundaria, normalmente especificado para una "parte".

Valor predeterminado: None
run_id
str

Un identificador de ejecución opcional para el elemento secundario; de lo contrario, se genera automáticamente. Normalmente, este parámetro no está establecido.

Valor predeterminado: None
outputs
str

Directorio de salidas opcionales para realizar el seguimiento del elemento secundario.

Valor predeterminado: None

Devoluciones

Tipo Description
Run

Se ejecuta el elemento secundario.

Comentarios

Se usa para aislar parte de una ejecución en una subsección. Esto se puede hacer para identificar "partes" de una ejecución que son interesantes para separar o para capturar métricas independientes en una intercalación de un subproceso.

Si se establece un directorio de salida para la ejecución secundaria, el contenido de ese directorio se cargará en el registro de ejecución secundario cuando se complete el elemento secundario.

clean

Quite los archivos correspondientes a la ejecución actual en el destino especificado en la configuración de ejecución.

clean()

Devoluciones

Tipo Description

Lista de archivos eliminados.

complete

Espere a que se procese la cola de tareas.

A continuación, la ejecución se marca como completada. Normalmente se usa en escenarios de cuadernos interactivos.

complete(_set_status=True)

Parámetros

Nombre Description
_set_status

Indica si se va a enviar el evento de estado para el seguimiento.

Valor predeterminado: True

create_children

Cree una o varias ejecuciones secundarias.

create_children(count=None, tag_key=None, tag_values=None)

Parámetros

Nombre Description
count
int

Número opcional de elementos secundarios que se van a crear.

Valor predeterminado: None
tag_key
str

Clave opcional para rellenar la entrada Etiquetas en todos los elementos secundarios creados.

Valor predeterminado: None
tag_Values
Requerido

Lista opcional de valores que se asignarán a Etiquetas[tag_key] para la lista de ejecuciones creadas.

tag_values
Valor predeterminado: None

Devoluciones

Tipo Description

Lista de ejecuciones secundarias.

Comentarios

Debe especificarse el parámetro count OR parameters tag_key AND tag_values .

download_file

Descargue un archivo asociado desde el almacenamiento.

download_file(name, output_file_path=None, _validate_checksum=False)

Parámetros

Nombre Description
name
Requerido
str

Nombre del artefacto que se va a descargar.

output_file_path
Requerido
str

Ruta de acceso local donde almacenar el artefacto.

download_files

Descargue archivos de un prefijo de almacenamiento determinado (nombre de carpeta) o del contenedor completo si no se especifica el prefijo.

download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)

Parámetros

Nombre Description
prefix
Requerido
str

Prefijo de ruta de archivo dentro del contenedor desde el que se van a descargar todos los artefactos.

output_directory
Requerido
str

Un directorio opcional que todas las rutas de acceso de artefacto usan como prefijo.

output_paths
Requerido
[str]

Rutas de archivo opcionales en las que almacenar los artefactos descargados. Debe ser único y coincidir con la longitud de las rutas de acceso.

batch_size
Requerido
int

Número de archivos que se van a descargar por lote. El valor predeterminado es 100 archivos.

append_prefix
Requerido

Marca opcional si se va a anexar el prefijo especificado desde la ruta de acceso del archivo de salida final. Si es False, el prefijo se quita de la ruta de acceso del archivo de salida.

timeout_seconds
Requerido
int

Tiempo de espera para descargar archivos.

fail

Marque la ejecución como errónea.

Opcionalmente, establezca la propiedad Error de la ejecución con un mensaje o excepción pasado a error_details.

fail(error_details=None, error_code=None, _set_status=True)

Parámetros

Nombre Description
error_details

Detalles opcionales del error.

Valor predeterminado: None
error_code
str

Código de error opcional del error para la clasificación de errores.

Valor predeterminado: None
_set_status

Indica si se va a enviar el evento de estado para el seguimiento.

Valor predeterminado: True

flush

Espere a que se procese la cola de tareas.

flush(timeout_seconds=300)

Parámetros

Nombre Description
timeout_seconds
int

Tiempo de espera (en segundos) para que se procese la cola de tareas.

Valor predeterminado: 300

get

Obtenga la ejecución de este área de trabajo con su identificador de ejecución.

static get(workspace, run_id)

Parámetros

Nombre Description
workspace
Requerido

Área de trabajo contenedora.

run_id
Requerido

Identificador de ejecución.

Devoluciones

Tipo Description
Run

La ejecución enviada.

get_all_logs

Descargue todos los registros de la ejecución en un directorio.

get_all_logs(destination=None)

Parámetros

Nombre Description
destination
str

Ruta de acceso de destino para almacenar los registros. Si no se especifica, se crea un directorio denominado como identificador de ejecución en el directorio del proyecto.

Valor predeterminado: None

Devoluciones

Tipo Description

Lista de nombres de registros descargados.

get_children

Obtenga todos los elementos secundarios de la ejecución actual seleccionada por los filtros especificados.

get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)

Parámetros

Nombre Description
recursive

Indica si se recusarán a través de todos los descendientes.

Valor predeterminado: False
tags
str o dict

Si se especifica, devuelve ejecuciones que coinciden con la "etiqueta" especificada o {"tag": "value"}.

Valor predeterminado: None
properties
str o dict

Si se especifica, devuelve ejecuciones que coinciden con la "propiedad" especificada o {"property": "value"}.

Valor predeterminado: None
type
str

Si se especifica, devuelve ejecuciones que coinciden con este tipo.

Valor predeterminado: None
status
str

Si se especifica, devuelve ejecuciones con el estado " status" especificado.

Valor predeterminado: None
_rehydrate_runs

Indica si se crea una instancia de una ejecución del tipo original o de la ejecución base.

Valor predeterminado: True

Devoluciones

Tipo Description

Lista de Run objetos.

get_context

Devuelve el contexto del servicio actual.

Use este método para recuperar el contexto del servicio actual para registrar métricas y cargar archivos. Si allow_offline es True (valor predeterminado), las acciones en el objeto Run se imprimirán para estándar.

get_context(allow_offline=True, used_for_context_manager=False, **kwargs)

Parámetros

Nombre Description
cls
Requerido

Indica el método de clase .

allow_offline

Permitir que el contexto del servicio vuelva al modo sin conexión para que el script de entrenamiento se pueda probar localmente sin enviar un trabajo con el SDK. True de forma predeterminada.

Valor predeterminado: True
kwargs
Requerido

Diccionario de parámetros adicionales.

used_for_context_manager
Valor predeterminado: False

Devoluciones

Tipo Description
Run

La ejecución enviada.

Comentarios

Esta función se usa normalmente para recuperar el objeto Run autenticado dentro de un script que se va a enviar para su ejecución a través de experiment.submit(). Este objeto de ejecución es un contexto autenticado para comunicarse con Azure Machine Learning Services y un contenedor conceptual en el que se incluyen métricas, archivos (artefactos) y modelos.


   run = Run.get_context() # allow_offline=True by default, so can be run locally as well
   ...
   run.log("Accuracy", 0.98)
   run.log_row("Performance", epoch=e, error=err)

get_detailed_status

Capture el estado más reciente de la ejecución. Si el estado de la ejecución es "Queued", se mostrarán los detalles.

get_detailed_status()

Devoluciones

Tipo Description

El estado y los detalles más recientes

Comentarios

  • status: estado actual de la ejecución. El mismo valor que el devuelto de get_status().

  • detalles: la información detallada del estado actual.


   run = experiment.submit(config)
   details = run.get_detailed_status()
   # details = {
   #     'status': 'Queued',
   #     'details': 'Run requested 1 node(s). Run is in pending status.',
   # }

get_details

Obtenga la definición, la información de estado, los archivos de registro actuales y otros detalles de la ejecución.

get_details()

Devoluciones

Tipo Description

Devolver los detalles de la ejecución

Comentarios

El diccionario devuelto contiene los siguientes pares clave-valor:

  • runId: identificador de esta ejecución.

  • Destino

  • status: estado actual de la ejecución. El mismo valor que el devuelto de get_status().

  • startTimeUtc: hora UTC de cuándo se inició esta ejecución, en ISO8601.

  • endTimeUtc: hora UTC de la finalización de esta ejecución (completado o erróneo), en ISO8601.

    Esta clave no existe si la ejecución todavía está en curso.

  • properties: pares clave-valor inmutables asociados a la ejecución. Las propiedades predeterminadas incluyen el identificador de instantánea de la ejecución e información sobre el repositorio git desde el que se creó la ejecución (si existe). Se pueden agregar propiedades adicionales a una ejecución mediante add_properties.

  • inputDatasets: conjuntos de datos de entrada asociados a la ejecución.

  • outputDatasets: conjuntos de datos de salida asociados a la ejecución.

  • logFiles

  • submittedBy


   run = experiment.start_logging()

   details = run.get_details()
   # details = {
   #     'runId': '5c24aa28-6e4a-4572-96a0-fb522d26fe2d',
   #     'target': 'sdk',
   #     'status': 'Running',
   #     'startTimeUtc': '2019-01-01T13:08:01.713777Z',
   #     'endTimeUtc': '2019-01-01T17:15:65.986253Z',
   #     'properties': {
   #         'azureml.git.repository_uri': 'https://example.com/my/git/repo',
   #         'azureml.git.branch': 'master',
   #         'azureml.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
   #         'azureml.git.dirty': 'True',
   #         'mlflow.source.git.repoURL': 'https://example.com/my/git/repo',
   #         'mlflow.source.git.branch': 'master',
   #         'mlflow.source.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
   #         'ContentSnapshotId': 'b4689489-ce2f-4db5-b6d7-6ad11e77079c'
   #     },
   #     'inputDatasets': [{
   #         'dataset': {'id': 'cdebf245-701d-4a68-8055-41f9cf44f298'},
   #         'consumptionDetails': {
   #             'type': 'RunInput',
   #             'inputName': 'training-data',
   #             'mechanism': 'Mount',
   #             'pathOnCompute': '/mnt/datasets/train'
   #         }
   #     }],
   #     'outputDatasets': [{
   #         'dataset': {'id': 'd04e8a19-1caa-4b1f-b318-4cbff9af9615'},
   #         'outputType': 'RunOutput',
   #         'outputDetails': {
   #             'outputName': 'training-result'
   #         }
   #     }],
   #     'runDefinition': {},
   #     'logFiles': {},
   #     'submittedBy': 'Alan Turing'
   # }

get_details_with_logs

Devuelve el estado de ejecución, incluido el contenido del archivo de registro.

get_details_with_logs()

Devoluciones

Tipo Description

Devuelve el estado de la ejecución con el contenido del archivo de registro.

get_environment

Obtenga la definición de entorno que usó esta ejecución.

get_environment()

Devoluciones

Tipo Description

Devuelve el objeto de entorno.

get_file_names

Enumere los archivos almacenados en asociación con la ejecución.

get_file_names()

Devoluciones

Tipo Description

Lista de rutas de acceso para artefactos existentes

get_metrics

Recupere las métricas registradas en la ejecución.

Si recursive es True (False de forma predeterminada), capture las métricas para las ejecuciones en el subárbol de la ejecución especificada.

get_metrics(name=None, recursive=False, run_type=None, populate=False)

Parámetros

Nombre Description
name
str

Nombre de la métrica.

Valor predeterminado: None
recursive

Indica si se recusarán a través de todos los descendientes.

Valor predeterminado: False
run_type
str
Valor predeterminado: None
populate

Indica si se va a capturar el contenido de los datos externos vinculados a la métrica.

Valor predeterminado: False

Devoluciones

Tipo Description

Diccionario que contiene las métricas de los usuarios.

Comentarios


   run = experiment.start_logging() # run id: 123
   run.log("A", 1)
   with run.child_run() as child: # run id: 456
       child.log("A", 2)

   metrics = run.get_metrics()
   # metrics = { 'A': 1 }

   metrics = run.get_metrics(recursive=True)
   # metrics = { '123': { 'A': 1 }, '456': { 'A': 2 } } note key is runId

get_properties

Capture las propiedades más recientes de la ejecución desde el servicio.

get_properties()

Devoluciones

Tipo Description

Propiedades de la ejecución.

Comentarios

Las propiedades son información inmutable generada por el sistema, como la duración, la fecha de ejecución, el usuario y las propiedades personalizadas agregadas con el add_properties método . Para obtener más información, consulte Etiquetas y ejecuciones de búsqueda.

Al enviar un trabajo a Azure Machine Learning, si los archivos de origen se almacenan en un repositorio git local, la información sobre el repositorio se almacena como propiedades. Estas propiedades de Git se agregan al crear una ejecución o llamar a Experiment.submit. Para más información sobre las propiedades de Git, consulte Integración de Git para Azure Machine Learning.

get_secret

Obtenga el valor secreto del contexto de una ejecución.

Obtenga el valor del secreto para el nombre proporcionado. El nombre del secreto hace referencia a un valor almacenado en Azure Key Vault asociado al área de trabajo. Para obtener un ejemplo de cómo trabajar con secretos, consulte Uso de secretos en ejecuciones de entrenamiento.

get_secret(name)

Parámetros

Nombre Description
name
Requerido
str

Nombre del secreto para el que se va a devolver un secreto.

Devoluciones

Tipo Description
str

Valor secreto.

get_secrets

Obtenga los valores secretos de una lista determinada de nombres secretos.

Obtenga un diccionario de secretos encontrados y no encontrados para la lista de nombres proporcionados. Cada nombre secreto hace referencia a un valor almacenado en Azure Key Vault asociado al área de trabajo. Para obtener un ejemplo de cómo trabajar con secretos, consulte Uso de secretos en ejecuciones de entrenamiento.

get_secrets(secrets)

Parámetros

Nombre Description
secrets
Requerido

Lista de nombres de secretos para los que se van a devolver valores secretos.

Devoluciones

Tipo Description

Devuelve un diccionario de secretos encontrados y no encontrados.

get_snapshot_id

Obtenga el identificador de instantánea más reciente.

get_snapshot_id()

Devoluciones

Tipo Description
str

Identificador de instantánea más reciente.

get_status

Capture el estado más reciente de la ejecución.

Los valores comunes devueltos incluyen "Running", "Completed" y "Failed".

get_status()

Devoluciones

Tipo Description
str

Estado más reciente.

Comentarios

  • NotStarted: se trata de un estado temporal en los objetos Run del lado cliente antes del envío en la nube.

  • Inicio: la ejecución se ha empezado a procesar en la nube. El autor de la llamada tiene un identificador de ejecución en este momento.

  • Aprovisionamiento: se devuelve cuando se crea el proceso a petición para un envío de trabajo determinado.

  • Preparación: el entorno de ejecución se está preparando:

    • compilación de imágenes de Docker

    • Configuración del entorno de 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 comenzó a ejecutarse en el destino de proceso.

  • Finalización: el código de usuario se ha completado y la ejecución se realiza en fases posteriores al procesamiento.

  • CancelRequested: se ha solicitado la cancelación para el trabajo.

  • Completado: la ejecución se completó correctamente. Esto incluye el código de usuario y la ejecución

    fases posteriores al procesamiento.

  • Error: error en la ejecución. Normalmente, la propiedad Error de una ejecución proporcionará detalles sobre por qué.

  • Cancelado: sigue una solicitud de cancelación e indica que la ejecución se ha cancelado correctamente.

  • Not Respondiendo: en el caso de las ejecuciones que tienen latidos habilitados, no se ha enviado ningún latido recientemente.


   run = experiment.submit(config)
   while run.get_status() not in ['Completed', 'Failed']: # For example purposes only, not exhaustive
       print('Run {} not in terminal state'.format(run.id))
       time.sleep(10)

get_submitted_run

OBSOLESCENTE. Utilice get_context.

Obtenga la ejecución enviada para este experimento.

get_submitted_run(**kwargs)

Devoluciones

Tipo Description
Run

La ejecución enviada.

get_tags

Capture el conjunto más reciente de etiquetas mutables en la ejecución desde el servicio.

get_tags()

Devoluciones

Tipo Description

Etiquetas almacenadas en el objeto run.

list

Obtenga una lista de ejecuciones en un experimento especificado por filtros opcionales.

static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)

Parámetros

Nombre Description
experiment
Requerido

El experimento contenedor.

type
str

Si se especifica, devuelve ejecuciones que coinciden con el tipo especificado.

Valor predeterminado: None
tags
str o dict

Si se especifica, devuelve ejecuciones que coinciden con la "etiqueta" especificada o {"tag": "value"}.

Valor predeterminado: None
properties
str o dict

Si se especifica, devuelve ejecuciones que coinciden con la "propiedad" especificada o {"property": "value"}.

Valor predeterminado: None
status
str

Si se especifica, devuelve ejecuciones con el estado " status" especificado.

Valor predeterminado: None
include_children

Si se establece en true, capture todas las ejecuciones, no solo las de nivel superior.

Valor predeterminado: False
_rehydrate_runs

Si se establece en True (de forma predeterminada), usará el proveedor registrado para volver a establecer un objeto para ese tipo en lugar de ejecutar base.

Valor predeterminado: True

Devoluciones

Tipo Description

Lista de ejecuciones.

Comentarios

En el ejemplo de código siguiente se muestran algunos usos del list método .


   favorite_completed_runs = Run.list(experiment, status='Completed', tags='favorite')

   all_distinct_runs = Run.list(experiment)
   and_their_children = Run.list(experiment, include_children=True)

   only_script_runs = Run.list(experiment, type=ScriptRun.RUN_TYPE)

list_by_compute

Obtenga una lista de ejecuciones en un proceso especificado por filtros opcionales.

static list_by_compute(compute, type=None, tags=None, properties=None, status=None)

Parámetros

Nombre Description
compute
Requerido

Que contiene el proceso.

type
str

Si se especifica, devuelve ejecuciones que coinciden con el tipo especificado.

Valor predeterminado: None
tags
str o dict

Si se especifica, devuelve ejecuciones que coinciden con la "etiqueta" especificada o {"tag": "value"}.

Valor predeterminado: None
properties
str o dict

Si se especifica, devuelve ejecuciones que coinciden con la "propiedad" especificada o {"property": "value"}.

Valor predeterminado: None
status
str

Si se especifica, devuelve ejecuciones con el estado " status" especificado. Solo los valores permitidos son "Running" y "Queued".

Valor predeterminado: None

Devoluciones

Tipo Description
<xref:builtin.generator>

generador de ~_restclient.models.RunDto

log

Registre un valor de métrica en la ejecución con el nombre especificado.

log(name, value, description='', step=None)

Parámetros

Nombre Description
name
Requerido
str

Nombre de la métrica.

value
Requerido

Valor que se va a publicar en el servicio.

description
Requerido
str

Una descripción de métrica opcional.

step
int

Eje opcional para especificar el orden de valores dentro de una métrica.

Valor predeterminado: None

Comentarios

El registro de una métrica en una ejecución hace que esa métrica se almacene en el registro de ejecución del experimento. Puede registrar la misma métrica varias veces dentro de una ejecución, el resultado que se considera un vector de esa métrica. Si se especifica el paso para una métrica, debe especificarse para todos los valores.

log_accuracy_table

Registre una tabla de precisión en el almacén de artefactos.

La métrica de tabla de precisión es una métrica multiuso que no es escalar que se puede usar para generar varios tipos de gráficos de líneas que varían continuamente sobre el espacio de probabilidades previstas. Algunos ejemplos de estos gráficos son ROC, precisión-recuperación y curvas de elevación.

El cálculo de la tabla de precisión es similar al cálculo de una curva ROC. Una curva ROC almacena tasas positivas verdaderas y tasas de falsos positivos a muchos umbrales de probabilidad diferentes. La tabla de precisión almacena el número sin procesar de verdaderos positivos, falsos positivos, verdaderos negativos y falsos negativos en muchos umbrales de probabilidad.

Hay dos métodos que se usan para seleccionar umbrales: "probabilidad" y "percentil". Difieren en cómo se muestrean del espacio de probabilidades predichas.

Los umbrales de probabilidad son umbrales espaciados uniformemente entre 0 y 1. Si NUM_POINTS es 5, los umbrales de probabilidad serían [0,0, 0,25, 0,5, 0,75, 1,0].

Los umbrales de percentil están espaciados según la distribución de probabilidades previstas. Cada umbral corresponde al percentil de los datos a un umbral de probabilidad. Por ejemplo, si NUM_POINTS es 5, el primer umbral estaría en el percentil 0, el segundo en el percentil 25, el tercero en el 50, etc.

Las tablas de probabilidad y las tablas de percentil son listas 3D donde la primera dimensión representa la etiqueta de clase, la segunda dimensión representa la muestra en un umbral (escalas con NUM_POINTS) y la tercera dimensión siempre tiene 4 valores: TP, FP, TN, FN y siempre en ese orden.

Los valores de confusión (TP, FP, TN, FN) se calculan con la estrategia uno frente al resto. Consulte el vínculo siguiente para obtener más detalles: https://en.wikipedia.org/wiki/Multiclass_classification

N = número de muestras del conjunto de datos de validación (200 en el ejemplo) M = # umbrales = # muestras tomadas del espacio de probabilidad (5 en el ejemplo) C = # clases del conjunto de datos completo (3 en el ejemplo)

Algunas invariables de la tabla de precisión:

  • TP + FP + TN + FN = N para todos los umbrales de todas las clases
  • TP + FN es el mismo en todos los umbrales de cualquier clase.
  • TN + FP es el mismo en todos los umbrales de cualquier clase.
  • Las tablas de probabilidad y las tablas de percentil tienen forma [C, M, 4]

Nota: M puede ser cualquier valor y controla la resolución de los gráficos Esto es independiente del conjunto de datos, se define al calcular las métricas y elimina el espacio de almacenamiento, el tiempo de cálculo y la resolución.

Las etiquetas de clase deben ser cadenas, los valores de confusión deben ser enteros y los umbrales deben ser floats.

log_accuracy_table(name, value, description='')

Parámetros

Nombre Description
name
Requerido
str

Nombre de la tabla de precisión.

value
Requerido
str o dict

JSON que contiene propiedades de nombre, versión y datos.

description
Requerido
str

Una descripción de métrica opcional.

Comentarios

Ejemplo de un valor JSON válido:


   {
       "schema_type": "accuracy_table",
       "schema_version": "1.0.1",
       "data": {
           "probability_tables": [
               [
                   [82, 118, 0, 0],
                   [75, 31, 87, 7],
                   [66, 9, 109, 16],
                   [46, 2, 116, 36],
                   [0, 0, 118, 82]
               ],
               [
                   [60, 140, 0, 0],
                   [56, 20, 120, 4],
                   [47, 4, 136, 13],
                   [28, 0, 140, 32],
                   [0, 0, 140, 60]
               ],
               [
                   [58, 142, 0, 0],
                   [53, 29, 113, 5],
                   [40, 10, 132, 18],
                   [24, 1, 141, 34],
                   [0, 0, 142, 58]
               ]
           ],
           "percentile_tables": [
               [
                   [82, 118, 0, 0],
                   [82, 67, 51, 0],
                   [75, 26, 92, 7],
                   [48, 3, 115, 34],
                   [3, 0, 118, 79]
               ],
               [
                   [60, 140, 0, 0],
                   [60, 89, 51, 0],
                   [60, 41, 99, 0],
                   [46, 5, 135, 14],
                   [3, 0, 140, 57]
               ],
               [
                   [58, 142, 0, 0],
                   [56, 93, 49, 2],
                   [54, 47, 95, 4],
                   [41, 10, 132, 17],
                   [3, 0, 142, 55]
               ]
           ],
           "probability_thresholds": [0.0, 0.25, 0.5, 0.75, 1.0],
           "percentile_thresholds": [0.0, 0.01, 0.24, 0.98, 1.0],
           "class_labels": ["0", "1", "2"]
       }
   }

log_confusion_matrix

Registre una matriz de confusión en el almacén de artefactos.

Esto registra un contenedor alrededor de la matriz de confusión sklearn. Los datos de métricas contienen las etiquetas de clase y una lista 2D para la propia matriz. Consulte el vínculo siguiente para obtener más información sobre cómo se calcula la métrica: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html

log_confusion_matrix(name, value, description='')

Parámetros

Nombre Description
name
Requerido
str

Nombre de la matriz de confusión.

value
Requerido
str o dict

JSON que contiene propiedades de nombre, versión y datos.

description
Requerido
str

Una descripción de métrica opcional.

Comentarios

Ejemplo de un valor JSON válido:


   {
       "schema_type": "confusion_matrix",
       "schema_version": "1.0.0",
       "data": {
           "class_labels": ["0", "1", "2", "3"],
           "matrix": [
               [3, 0, 1, 0],
               [0, 1, 0, 1],
               [0, 0, 1, 0],
               [0, 0, 0, 1]
           ]
       }
   }

log_image

Registre una métrica de imagen en el registro de ejecución.

log_image(name, path=None, plot=None, description='')

Parámetros

Nombre Description
name
Requerido
str

Nombre de la métrica.

path
Requerido
str

Ruta de acceso o secuencia de la imagen.

plot
Requerido
<xref:matplotlib.pyplot>

Trazado que se va a registrar como una imagen.

description
Requerido
str

Una descripción de métrica opcional.

Comentarios

Use este método para registrar un archivo de imagen o un trazado matplotlib en la ejecución. Estas imágenes serán visibles y comparables en el registro de ejecución.

log_list

Registre una lista de valores de métricas en la ejecución con el nombre especificado.

log_list(name, value, description='')

Parámetros

Nombre Description
name
Requerido
str

Nombre de la métrica.

value
Requerido

Valores de la métrica.

description
Requerido
str

Una descripción de métrica opcional.

log_predictions

Registre predicciones en el almacén de artefactos.

Esto registra una puntuación de métrica que se puede usar para comparar las distribuciones de valores de destino verdaderos con la distribución de valores previstos para una tarea de regresión.

Las predicciones están binned y las desviaciones estándar se calculan para las barras de error en un gráfico de líneas.

log_predictions(name, value, description='')

Parámetros

Nombre Description
name
Requerido
str

Nombre de las predicciones.

value
Requerido
str o dict

JSON que contiene propiedades de nombre, versión y datos.

description
Requerido
str

Una descripción de métrica opcional.

Comentarios

Ejemplo de un valor JSON válido:


   {
       "schema_type": "predictions",
       "schema_version": "1.0.0",
       "data": {
           "bin_averages": [0.25, 0.75],
           "bin_errors": [0.013, 0.042],
           "bin_counts": [56, 34],
           "bin_edges": [0.0, 0.5, 1.0]
       }
   }

log_residuals

Registre los valores residuales en el almacén de artefactos.

Esto registra los datos necesarios para mostrar un histograma de valores residuales para una tarea de regresión. Los valores residuales se predicen: reales.

Debe haber un borde más que el número de recuentos. Consulte la documentación del histograma numpy para obtener ejemplos de uso de recuentos y bordes para representar un histograma. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

log_residuals(name, value, description='')

Parámetros

Nombre Description
name
Requerido
str

Nombre de los valores residuales.

value
Requerido
str o dict

JSON que contiene propiedades de nombre, versión y datos.

description
Requerido
str

Una descripción de métrica opcional.

Comentarios

Ejemplo de un valor JSON válido:


   {
       "schema_type": "residuals",
       "schema_version": "1.0.0",
       "data": {
           "bin_edges": [50, 100, 200, 300, 350],
           "bin_counts": [0.88, 20, 30, 50.99]
       }
   }

log_row

Registre una métrica de fila en la ejecución con el nombre especificado.

log_row(name, description=None, **kwargs)

Parámetros

Nombre Description
name
Requerido
str

Nombre de la métrica.

description
str

Una descripción de métrica opcional.

Valor predeterminado: None
kwargs
Requerido

Diccionario de parámetros adicionales. En este caso, las columnas de la métrica.

Comentarios

El uso log_row de crea una métrica de tabla con columnas como se describe en kwargs. Cada parámetro con nombre genera una columna con el valor especificado. log_row se puede llamar una vez para registrar una tupla arbitraria o varias veces en un bucle para generar una tabla completa.


   citrus = ['orange', 'lemon', 'lime']
   sizes = [ 10, 7, 3]
   for index in range(len(citrus)):
       run.log_row("citrus", fruit = citrus[index], size=sizes[index])

log_table

Registre una métrica de tabla en la ejecución con el nombre especificado.

log_table(name, value, description='')

Parámetros

Nombre Description
name
Requerido
str

Nombre de la métrica.

value
Requerido

Valor de tabla de la métrica, un diccionario donde las claves son columnas que se van a publicar en el servicio.

description
Requerido
str

Una descripción de métrica opcional.

register_model

Registre un modelo para la operacionalización.

register_model(model_name, model_path=None, tags=None, properties=None, model_framework=None, model_framework_version=None, description=None, datasets=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None, **kwargs)

Parámetros

Nombre Description
model_name
Requerido
str

Nombre del modelo.

model_path
str

Ruta de acceso relativa a la nube al modelo, por ejemplo, "outputs/modelname". Cuando no se especifica (None), model_name se usa como ruta de acceso.

Valor predeterminado: None
tags

Diccionario de etiquetas de valor de clave que se van a asignar al modelo.

Valor predeterminado: None
properties

Diccionario de propiedades de valor clave que se van a asignar al modelo. Estas propiedades no se pueden cambiar después de la creación del modelo, pero se pueden agregar nuevos pares de valores de clave.

Valor predeterminado: None
model_framework
str

Marco del modelo que se va a registrar. Marcos admitidos actualmente: TensorFlow, ScikitLearn, Onnx, Custom, Multi

Valor predeterminado: None
model_framework_version
str

Versión del marco del modelo registrado.

Valor predeterminado: None
description
str

Descripción opcional del modelo.

Valor predeterminado: None
datasets

Lista de tuplas donde el primer elemento describe la relación del modelo de conjunto de datos y el segundo elemento es el conjunto de datos.

Valor predeterminado: None
sample_input_dataset

Opcional. Conjunto de datos de entrada de ejemplo para el modelo registrado

Valor predeterminado: None
sample_output_dataset

Opcional. Conjunto de datos de salida de ejemplo para el modelo registrado

Valor predeterminado: None
resource_configuration

Opcional. Configuración de recursos para ejecutar el modelo registrado

Valor predeterminado: None
kwargs
Requerido

Parámetros opcionales.

Devoluciones

Tipo Description

Modelo registrado.

Comentarios


   model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')

remove_tags

Elimine la lista de etiquetas mutables en esta ejecución.

remove_tags(tags)

Parámetros

Nombre Description
tags
Requerido

Lista de etiquetas que se van a quitar.

Devoluciones

Tipo Description

Etiquetas almacenadas en el objeto run

restore_snapshot

Restaure una instantánea como un archivo ZIP. Devuelve la ruta de acceso al archivo ZIP.

restore_snapshot(snapshot_id=None, path=None)

Parámetros

Nombre Description
snapshot_id
str

Identificador de instantánea que se va a restaurar. Si no se especifica, se usa la versión más reciente.

Valor predeterminado: None
path
str

Ruta de acceso donde se guarda el ARCHIVO ZIP descargado.

Valor predeterminado: None

Devoluciones

Tipo Description
str

Ruta de acceso.

set_tags

Agregue o modifique un conjunto de etiquetas en la ejecución. Las etiquetas que no se pasan en el diccionario se dejan intactas.

También puede agregar etiquetas de cadena simples. Cuando estas etiquetas aparecen en el diccionario de etiquetas como claves, tienen un valor none. Para obtener más información, consulte Etiquetas y ejecuciones de búsqueda.

set_tags(tags)

Parámetros

Nombre Description
tags
Requerido
dict[str] o str

Etiquetas almacenadas en el objeto run.

start

Marque la ejecución como iniciada.

Normalmente se usa en escenarios avanzados cuando otro actor ha creado la ejecución.

start()

submit_child

Envíe un experimento y devuelva la ejecución secundaria activa.

submit_child(config, tags=None, **kwargs)

Parámetros

Nombre Description
config
Requerido

Configuración que se va a enviar.

tags

Etiquetas que se van a agregar a la ejecución enviada, por ejemplo, {"tag": "value"}.

Valor predeterminado: None
kwargs
Requerido

Parámetros adicionales usados en la función submit para configuraciones.

Devoluciones

Tipo Description
Run

Objeto run.

Comentarios

Enviar es una llamada asincrónica a la plataforma de Azure Machine Learning para ejecutar una prueba en hardware local o remoto. En función de la configuración, submit preparará automáticamente los entornos de ejecución, ejecutará el código y capturará el código fuente y los resultados en el historial de ejecución del experimento.

Para enviar un experimento, primero debe crear un objeto de configuración que describa cómo se va a ejecutar el experimento. La configuración depende del tipo de prueba necesario.

Un ejemplo de cómo enviar un experimento secundario desde la máquina local mediante ScriptRunConfig es el siguiente:


   from azureml.core import ScriptRunConfig

   # run a trial from the train.py code in your current directory
   config = ScriptRunConfig(source_directory='.', script='train.py',
       run_config=RunConfiguration())
   run = parent_run.submit_child(config)

   # get the url to view the progress of the experiment and then wait
   # until the trial is complete
   print(run.get_portal_url())
   run.wait_for_completion()

Para obtener más información sobre cómo configurar una ejecución, consulte submit.

tag

Etiquete la ejecución con una clave de cadena y un valor de cadena opcional.

tag(key, value=None)

Parámetros

Nombre Description
key
Requerido
str

Clave de etiqueta

value
str

Un valor opcional para la etiqueta

Valor predeterminado: None

Comentarios

Las etiquetas y las propiedades de una ejecución son diccionarios de cadena:> cadena. La diferencia entre ellos es la mutabilidad: las etiquetas se pueden establecer, actualizar y eliminar mientras que las propiedades solo se pueden agregar. Esto hace que las propiedades sean más adecuadas para los desencadenadores de comportamiento relacionados con el sistema o el flujo de trabajo, mientras que las etiquetas suelen tener sentido y accesibles para los consumidores del experimento.


   run = experiment.start_logging()
   run.tag('DeploymentCandidate')
   run.tag('modifiedBy', 'Master CI')
   run.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable

   run.add_properties({'BuildId': os.environ.get('VSTS_BUILD_ID')}) # Properties are not

   tags = run.get_tags()
   # tags = { 'DeploymentCandidate': None, 'modifiedBy': 'release pipeline' }

take_snapshot

Guarde una instantánea del archivo o carpeta de entrada.

take_snapshot(file_or_folder_path)

Parámetros

Nombre Description
file_or_folder_path
Requerido
str

Archivo o carpeta que contiene el código fuente de ejecución.

Devoluciones

Tipo Description
str

Devuelve el identificador de instantánea.

Comentarios

Las instantáneas están diseñadas para ser el código fuente que se usa para ejecutar la ejecución del experimento. Estos se almacenan con la ejecución para que la prueba de ejecución se pueda replicar en el futuro.

Nota:

Las instantáneas se toman automáticamente cuando submit se llama a . Normalmente, este método take_snapshot solo es necesario para las ejecuciones interactivas (cuadernos).

upload_file

Cargue un archivo en el registro de ejecución.

upload_file(name, path_or_stream, datastore_name=None)

Parámetros

Nombre Description
name
Requerido
str

Nombre del archivo que se va a cargar.

path_or_stream
Requerido
str

Ruta de acceso local relativa o secuencia al archivo que se va a cargar.

datastore_name
Requerido
str

Nombre opcional del almacén de datos

Devoluciones

Tipo Description

Comentarios


   run = experiment.start_logging()
   run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")

Nota:

Ejecuta automáticamente el archivo de captura en el directorio de salida especificado, que tiene como valor predeterminado "./outputs" para la mayoría de los tipos de ejecución. Use upload_file solo cuando se necesiten cargar archivos adicionales o no se especifique un directorio de salida.

upload_files

Cargue los archivos en el registro de ejecución.

upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)

Parámetros

Nombre Description
names
Requerido

Nombres de los archivos que se van a cargar. Si se establece, también se deben establecer rutas de acceso.

paths
Requerido

Rutas de acceso locales relativas a los archivos que se van a cargar. Si se establece, se requieren nombres.

return_artifacts
Requerido

Indica que se debe devolver un objeto de artefacto para cada archivo cargado.

timeout_seconds
Requerido
int

Tiempo de espera para cargar archivos.

datastore_name
Requerido
str

Nombre opcional del almacén de datos

Comentarios

upload_files tiene el mismo efecto que upload_file en archivos independientes, pero hay ventajas de rendimiento y uso de recursos al usar upload_files.


   import os

   run = experiment.start_logging()
   file_name_1 = 'important_file_1'
   file_name_2 = 'important_file_2'
   run.upload_files(names=[file_name_1, file_name_2],
                       paths=['path/on/disk/file_1.txt', 'other/path/on/disk/file_2.txt'])

   run.download_file(file_name_1, 'file_1.txt')

   os.mkdir("path")  # The path must exist
   run.download_file(file_name_2, 'path/file_2.txt')

Nota:

Ejecuta automáticamente los archivos de captura en el directorio de salida especificado, que tiene como valor predeterminado "./outputs" para la mayoría de los tipos de ejecución. Use upload_files solo cuando se necesiten cargar archivos adicionales o no se especifique un directorio de salida.

upload_folder

Cargue la carpeta especificada en el nombre de prefijo especificado.

upload_folder(name, path, datastore_name=None)

Parámetros

Nombre Description
name
Requerido
str

Nombre de la carpeta de archivos que se va a cargar.

folder
Requerido
str

Ruta de acceso local relativa a la carpeta que se va a cargar.

datastore_name
Requerido
str

Nombre opcional del almacén de datos

Comentarios


   run = experiment.start_logging()
   run.upload_folder(name='important_files', path='path/on/disk')

   run.download_file('important_files/existing_file.txt', 'local_file.txt')

Nota:

Ejecuta automáticamente los archivos de captura en el directorio de salida especificado, que tiene como valor predeterminado "./outputs" para la mayoría de los tipos de ejecución. Use upload_folder solo cuando no se especifiquen archivos adicionales o no se especifique un directorio de salida.

wait_for_completion

Espere a que finalice esta ejecución. Devuelve el objeto de estado después de la espera.

wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)

Parámetros

Nombre Description
show_output

Indica si se va a mostrar la salida de ejecución en sys.stdout.

Valor predeterminado: False
wait_post_processing

Indica si se debe esperar a que se complete el procesamiento posterior una vez completada la ejecución.

Valor predeterminado: False
raise_on_error

Indica si se genera un error cuando la ejecución está en estado de error.

Valor predeterminado: True

Devoluciones

Tipo Description

Objeto de estado.

Atributos

description

Devuelve la descripción de la ejecución.

La descripción opcional de la ejecución es una cadena especificada por el usuario que resulta útil para describir una ejecución.

Devoluciones

Tipo Description
str

Descripción de la ejecución.

display_name

Devuelve el nombre para mostrar de la ejecución.

El nombre para mostrar opcional de la ejecución es una cadena especificada por el usuario que resulta útil para la identificación posterior de la ejecución.

Devoluciones

Tipo Description
str

Nombre para mostrar de la ejecución.

experiment

Obtenga el experimento que contiene la ejecución.

Devoluciones

Tipo Description

Recupera el experimento correspondiente a la ejecución.

id

Obtener el identificador de ejecución.

El identificador de la ejecución es un identificador único en el experimento contenedor.

Devoluciones

Tipo Description
str

Identificador de ejecución.

name

OBSOLESCENTE. Use display_name.

El nombre opcional de la ejecución es una cadena especificada por el usuario útil para la identificación posterior de la ejecución.

Devoluciones

Tipo Description
str

Identificador de ejecución.

number

Obtenga el número de ejecución.

Número que aumenta de forma monotónica que representa el orden de las ejecuciones dentro de un experimento.

Devoluciones

Tipo Description
int

Número de ejecución.

parent

Capture la ejecución primaria para esta ejecución desde el servicio.

Las ejecuciones pueden tener un elemento primario opcional, lo que da lugar a una posible jerarquía de árboles de ejecuciones. Para registrar métricas en una ejecución primaria, use el log método del objeto primario, por ejemplo, run.parent.log().

Devoluciones

Tipo Description
Run

La ejecución primaria o Ninguno si no se establece uno.

properties

Devuelve las propiedades inmutables de esta ejecución.

Devoluciones

Tipo Description
dict[str],
str

Propiedades almacenadas en caché localmente de la ejecución.

Comentarios

Las propiedades incluyen información inmutable generada por el sistema, como la duración, la fecha de ejecución, el usuario, etc.

status

Devuelve el estado del objeto de ejecución.

tags

Devuelve el conjunto de etiquetas mutables en esta ejecución.

Devoluciones

Tipo Description

Etiquetas almacenadas en el objeto run.

type

Obtiene el tipo de ejecución.

Indica cómo se creó o configuró la ejecución.

Devoluciones

Tipo Description
str

Tipo de ejecución.