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
|
Nombre del experimento. |
kwargs
Requerido
|
Diccionario de argumentos de palabra clave. |
workspace
Requerido
|
Objeto de área de trabajo que contiene el experimento. |
name
Requerido
|
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
|
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 |
---|---|
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
|
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
|
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
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
|
Directorio de salidas opcionales para realizar el seguimiento. Para ninguna salida, pase False. |
snapshot_directory
Requerido
|
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 |
---|---|
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 |
---|---|
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.
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
|
Clave de etiqueta |
value
Requerido
|
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 |
---|---|
Hora archivada del experimento. |
id
Devuelve el identificador del experimento.
Devoluciones
Tipo | Description |
---|---|
Identificador del experimento. |
name
tags
workspace
Devuelve el área de trabajo que contiene el experimento.
Devoluciones
Tipo | Description |
---|---|
Devuelve el objeto del área de trabajo. |