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
|
Identificador de la ejecución. |
outputs
|
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
|
Identificador de la ejecución. |
outputs
Requerido
|
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:
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 |
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 |
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 |
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:
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
|
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
|
Un nombre opcional para la ejecución secundaria, normalmente especificado para una "parte". Valor predeterminado: None
|
run_id
|
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
|
Directorio de salidas opcionales para realizar el seguimiento del elemento secundario. Valor predeterminado: None
|
Devoluciones
Tipo | Description |
---|---|
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
|
Número opcional de elementos secundarios que se van a crear. Valor predeterminado: None
|
tag_key
|
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
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
|
Prefijo de ruta de archivo dentro del contenedor desde el que se van a descargar todos los artefactos. |
output_directory
Requerido
|
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
|
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
|
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
|
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
|
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 |
---|---|
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
|
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
|
Si se especifica, devuelve ejecuciones que coinciden con la "etiqueta" especificada o {"tag": "value"}. Valor predeterminado: None
|
properties
|
Si se especifica, devuelve ejecuciones que coinciden con la "propiedad" especificada o {"property": "value"}. Valor predeterminado: None
|
type
|
Si se especifica, devuelve ejecuciones que coinciden con este tipo. Valor predeterminado: None
|
status
|
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 |
---|---|
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
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
|
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
|
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
|
Nombre del secreto para el que se va a devolver un secreto. |
Devoluciones
Tipo | Description |
---|---|
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 |
---|---|
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 |
---|---|
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 |
---|---|
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
|
Si se especifica, devuelve ejecuciones que coinciden con el tipo especificado. Valor predeterminado: None
|
tags
|
Si se especifica, devuelve ejecuciones que coinciden con la "etiqueta" especificada o {"tag": "value"}. Valor predeterminado: None
|
properties
|
Si se especifica, devuelve ejecuciones que coinciden con la "propiedad" especificada o {"property": "value"}. Valor predeterminado: None
|
status
|
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
|
Si se especifica, devuelve ejecuciones que coinciden con el tipo especificado. Valor predeterminado: None
|
tags
|
Si se especifica, devuelve ejecuciones que coinciden con la "etiqueta" especificada o {"tag": "value"}. Valor predeterminado: None
|
properties
|
Si se especifica, devuelve ejecuciones que coinciden con la "propiedad" especificada o {"property": "value"}. Valor predeterminado: None
|
status
|
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
|
Nombre de la métrica. |
value
Requerido
|
Valor que se va a publicar en el servicio. |
description
Requerido
|
Una descripción de métrica opcional. |
step
|
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
|
Nombre de la tabla de precisión. |
value
Requerido
|
JSON que contiene propiedades de nombre, versión y datos. |
description
Requerido
|
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
|
Nombre de la matriz de confusión. |
value
Requerido
|
JSON que contiene propiedades de nombre, versión y datos. |
description
Requerido
|
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
|
Nombre de la métrica. |
path
Requerido
|
Ruta de acceso o secuencia de la imagen. |
plot
Requerido
|
<xref:matplotlib.pyplot>
Trazado que se va a registrar como una imagen. |
description
Requerido
|
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
|
Nombre de la métrica. |
value
Requerido
|
Valores de la métrica. |
description
Requerido
|
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
|
Nombre de las predicciones. |
value
Requerido
|
JSON que contiene propiedades de nombre, versión y datos. |
description
Requerido
|
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
|
Nombre de los valores residuales. |
value
Requerido
|
JSON que contiene propiedades de nombre, versión y datos. |
description
Requerido
|
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
|
Nombre de la métrica. |
description
|
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
|
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
|
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
|
Nombre del modelo. |
model_path
|
Ruta de acceso relativa a la nube al modelo, por ejemplo, "outputs/modelname".
Cuando no se especifica (None), 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
|
Marco del modelo que se va a registrar. Marcos admitidos actualmente: TensorFlow, ScikitLearn, Onnx, Custom, Multi Valor predeterminado: None
|
model_framework_version
|
Versión del marco del modelo registrado. Valor predeterminado: None
|
description
|
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
|
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
|
Ruta de acceso donde se guarda el ARCHIVO ZIP descargado. Valor predeterminado: None
|
Devoluciones
Tipo | Description |
---|---|
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
|
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 |
---|---|
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
|
Clave de etiqueta |
value
|
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
|
Archivo o carpeta que contiene el código fuente de ejecución. |
Devoluciones
Tipo | Description |
---|---|
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
|
Nombre del archivo que se va a cargar. |
path_or_stream
Requerido
|
Ruta de acceso local relativa o secuencia al archivo que se va a cargar. |
datastore_name
Requerido
|
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
|
Tiempo de espera para cargar archivos. |
datastore_name
Requerido
|
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
|
Nombre de la carpeta de archivos que se va a cargar. |
folder
Requerido
|
Ruta de acceso local relativa a la carpeta que se va a cargar. |
datastore_name
Requerido
|
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 |
---|---|
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 |
---|---|
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 |
---|---|
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 |
---|---|
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 |
---|---|
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 |
---|---|
La ejecución primaria o Ninguno si no se establece uno. |
properties
Devuelve las propiedades inmutables de esta ejecución.
Devoluciones
Tipo | Description |
---|---|
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 |
---|---|
Tipo de ejecución. |