Compartir a través de


Experiment Clase

Representa el punto de entrada principal para crear y trabajar con experimentos en Azure Machine Learning.

Un experimento es un contenedor de pruebas que representan varias ejecuciones de modelos.

Constructor de experimentos.

Constructor

Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)

Parámetros

Nombre Description
workspace
Requerido

Objeto de área de trabajo que contiene el experimento.

name
Requerido
str

Nombre del experimento.

kwargs
Requerido

Diccionario de argumentos de palabra clave.

workspace
Requerido

Objeto de área de trabajo que contiene el experimento.

name
Requerido
str

Nombre del experimento.

kwargs
Requerido

Diccionario de argumentos de palabra clave.

_skip_name_validation
Valor predeterminado: False
_id
Valor predeterminado: None
_archived_time
Valor predeterminado: None
_create_in_cloud
Valor predeterminado: True
_experiment_dto
Valor predeterminado: None

Comentarios

Un experimento de Azure Machine Learning representa la colección de pruebas usadas para validar la hipótesis de un usuario.

En Azure Machine Learning, un experimento se representa mediante la Experiment clase y la Run clase representa una prueba.

Para obtener o crear un experimento a partir de un área de trabajo, solicite el experimento con el nombre del experimento. El nombre del experimento debe tener entre 3 y 36 caracteres, empezar con una letra o un número, y solo puede contener letras, números, caracteres de subrayado y guiones.


   experiment = Experiment(workspace, "MyExperiment")

Si el experimento no se encuentra en el área de trabajo, se crea un nuevo experimento.

Hay dos maneras de ejecutar una prueba de experimento. Si está experimentando interactivamente en un cuaderno de Jupyter Notebook, use start_logging Si va a enviar un experimento desde el código fuente o algún otro tipo de prueba configurado, use submit

Ambos mecanismos crean un Run objeto . En escenarios interactivos, use métodos de registro como log para agregar medidas y métricas al registro de prueba. En escenarios configurados, use métodos de estado como get_status para recuperar información sobre la ejecución.

En ambos casos, puede usar métodos de consulta como get_metrics para recuperar los valores actuales, si los hay, de cualquier medida y métrica de prueba.

Métodos

archive

Archivar un experimento.

delete

Elimine un experimento en el área de trabajo.

from_directory

(en desuso) Cargue un experimento desde la ruta de acceso especificada.

get_docs_url

Dirección URL a la documentación de esta clase.

get_runs

Devuelve un generador de las ejecuciones de este experimento, en orden cronológico inverso.

list

Devuelve la lista de experimentos en el área de trabajo.

reactivate

Reactiva un experimento archivado.

refresh

Devuelve la versión más reciente del experimento desde la nube.

remove_tags

Elimine las etiquetas especificadas del experimento.

set_tags

Agregue o modifique un conjunto de etiquetas en el experimento. Las etiquetas que no se pasan en el diccionario se dejan intactas.

start_logging

Inicie una sesión de registro interactiva y cree una ejecución interactiva en el experimento especificado.

submit

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

tag

Etiquete el experimento con una clave de cadena y un valor de cadena opcional.

archive

Archivar un experimento.

archive()

Comentarios

Después del archivado, el experimento no aparecerá de forma predeterminada. Al intentar escribir en un experimento archivado, se creará un nuevo experimento activo con el mismo nombre. Un experimento archivado se puede restaurar llamando a reactivate siempre que no haya otro experimento activo con el mismo nombre.

delete

Elimine un experimento en el área de trabajo.

static delete(workspace, experiment_id)

Parámetros

Nombre Description
workspace
Requerido

Área de trabajo a la que pertenece el experimento.

experiment_id
Requerido

Identificador del experimento que se va a eliminar.

from_directory

(en desuso) Cargue un experimento desde la ruta de acceso especificada.

static from_directory(path, auth=None)

Parámetros

Nombre Description
path
Requerido
str

Directorio que contiene los archivos de configuración del experimento.

auth

Objeto de autenticación. Si No se usarán las credenciales predeterminadas de la CLI de Azure o la API solicitará las credenciales.

Valor predeterminado: None

Devoluciones

Tipo Description

Devuelve el experimento.

get_docs_url

Dirección URL a la documentación de esta clase.

get_docs_url()

Devoluciones

Tipo Description
str

URL

get_runs

Devuelve un generador de las ejecuciones de este experimento, en orden cronológico inverso.

get_runs(type=None, tags=None, properties=None, include_children=False)

Parámetros

Nombre Description
type

Filtre el generador devuelto de ejecuciones por el tipo proporcionado. Consulte add_type_provider para crear tipos de ejecución.

Valor predeterminado: None
tags

El filtro se ejecuta por "tag" o {"tag": "value"}.

Valor predeterminado: None
properties

El filtro se ejecuta por "property" o {"property": "value"}

Valor predeterminado: None
include_children

De forma predeterminada, capture solo ejecuciones de nivel superior. Establézcalo en true para enumerar todas las ejecuciones.

Valor predeterminado: False

Devoluciones

Tipo Description

Lista de ejecuciones que coinciden con filtros proporcionados.

list

Devuelve la lista de experimentos en el área de trabajo.

static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)

Parámetros

Nombre Description
workspace
Requerido

Área de trabajo desde la que se van a enumerar los experimentos.

experiment_name
str

Nombre opcional para filtrar experimentos.

Valor predeterminado: None
view_type

Valor de enumeración opcional para filtrar o incluir experimentos archivados.

Valor predeterminado: ActiveOnly
tags

Clave de etiqueta opcional o diccionario de pares clave-valor de etiqueta para filtrar experimentos.

Valor predeterminado: None

Devoluciones

Tipo Description

Lista de objetos de experimento.

reactivate

Reactiva un experimento archivado.

reactivate(new_name=None)

Parámetros

Nombre Description
new_name
Requerido
str

Ya no se admite

Comentarios

Un experimento archivado solo se puede reactivar si no hay otro experimento activo con el mismo nombre.

refresh

Devuelve la versión más reciente del experimento desde la nube.

refresh()

remove_tags

Elimine las etiquetas especificadas del experimento.

remove_tags(tags)

Parámetros

Nombre Description
tags
Requerido
[str]

Claves de etiqueta que se quitarán

set_tags

Agregue o modifique un conjunto de etiquetas en el experimento. Las etiquetas que no se pasan en el diccionario se dejan intactas.

set_tags(tags)

Parámetros

Nombre Description
tags
Requerido

Etiquetas almacenadas en el objeto de experimento

start_logging

Inicie una sesión de registro interactiva y cree una ejecución interactiva en el experimento especificado.

start_logging(*args, **kwargs)

Parámetros

Nombre Description
experiment
Requerido

El experimento.

outputs
Requerido
str

Directorio de salidas opcionales para realizar el seguimiento. Para ninguna salida, pase False.

snapshot_directory
Requerido
str

Directorio opcional del que se va a tomar una instantánea. Si se establece en Ninguno, no se realizará ninguna instantánea.

args
Requerido
kwargs
Requerido

Devoluciones

Tipo Description
Run

Devuelve una ejecución iniciada.

Comentarios

start_logging crea una ejecución interactiva para su uso en escenarios como Jupyter Notebooks. Las métricas que se registran durante la sesión se agregan al registro de ejecución en el experimento. Si se especifica un directorio de salida, el contenido de ese directorio se carga como artefactos de ejecución tras la finalización de la ejecución.


   experiment = Experiment(workspace, "My Experiment")
   run = experiment.start_logging(outputs=None, snapshot_directory=".", display_name="My Run")
   ...
   run.log_metric("Accuracy", accuracy)
   run.complete()

Nota:

run_id se genera automáticamente para cada ejecución y es único dentro del experimento.

submit

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

submit(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, {"tag": "value"}.

Valor predeterminado: None
kwargs
Requerido

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

Devoluciones

Tipo Description
Run

Un segmento.

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 desde la máquina local 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 = experiment.submit(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 más información sobre cómo configurar una ejecución, consulte los detalles del tipo de configuración.

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

Nota:

Al enviar la ejecución de entrenamiento, se crea una instantánea del directorio que contiene los scripts de entrenamiento y se envía al destino de proceso. También se almacena como parte del experimento del área de trabajo. Si cambia los archivos y vuelve a enviar la ejecución, solo se cargarán los archivos modificados.

Para evitar que los archivos se incluyan en la instantánea, cree un archivo .gitignore o .amlignore en el directorio y agregue los archivos a ella. El archivo .amlignore usa la misma sintaxis y patrones que el archivo .gitignore. Si existen ambos archivos, el archivo .amlignore tiene prioridad.

Para más información, consulte Instantánea.

tag

Etiquete el experimento 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
Requerido
str

Un valor opcional para la etiqueta

Comentarios

Las etiquetas de un experimento se almacenan en un diccionario con claves de cadena y valores de cadena. Las etiquetas se pueden establecer, actualizar y eliminar. Las etiquetas están orientadas al usuario y, por lo general, contienen información de significado para los consumidores del experimento.


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

Atributos

archived_time

Devuelve el tiempo archivado del experimento. El valor debe ser Ninguno para un experimento activo.

Devoluciones

Tipo Description
str

Hora archivada del experimento.

id

Devuelve el identificador del experimento.

Devoluciones

Tipo Description
str

Identificador del experimento.

name

Devuelve el nombre del experimento.

Devoluciones

Tipo Description
str

Nombre del experimento.

tags

Devuelve el conjunto mutable de etiquetas en el experimento.

Devoluciones

Tipo Description

Etiquetas de un experimento.

workspace

Devuelve el área de trabajo que contiene el experimento.

Devoluciones

Tipo Description

Devuelve el objeto del área de trabajo.

workspace_object

(en desuso) Devuelve el área de trabajo que contiene el experimento.

Use el workspace atributo .

Devoluciones

Tipo Description

Objeto del área de trabajo.