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 del modelo.
Constructor de experimentos.
- Herencia
-
azureml._logging.chained_identity.ChainedIdentityExperimentazureml.core._portal.HasExperimentPortalExperiment
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
|
El nombre del experimento. |
kwargs
Requerido
|
Diccionario de argumentos de palabra clave. |
workspace
Requerido
|
Objeto de área de trabajo que contiene el experimento. |
name
Requerido
|
El 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 utilizadas para validar la hipótesis de un usuario.
En Azure Machine Learning, la clase Experiment representa un experimento y la clase Run representa una prueba.
Para obtener o crear un experimento desde un área de trabajo, solicite el experimento con el nombre del experimento. El nombre del experimento debe tener entre 3 y 36 caracteres y debe empezar con una letra o un número; además, solo puede contener letras, números, caracteres de subrayado y guiones.
experiment = Experiment(workspace, "MyExperiment")
Si no se encuentra el experimento 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 desde algún otro tipo de prueba configurada, use submit.
Ambos mecanismos crean un objeto Run. En escenarios interactivos, use métodos de registro como log para agregar medidas y métricas al registro de la 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 hubiera, de las métricas y medidas de la prueba.
Métodos
archive |
Archiva un experimento. |
delete |
Elimina un experimento en el área de trabajo. |
from_directory |
(En desuso) Carga un experimento desde la ruta de acceso especificada. |
get_docs_url |
Dirección URL de 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 del área de trabajo. |
reactivate |
Reactiva un experimento archivado. |
refresh |
Devuelve la versión más reciente del experimento desde la nube. |
remove_tags |
Elimina las etiquetas especificadas del experimento. |
set_tags |
Agrega o modifica un conjunto de etiquetas en el experimento. Las etiquetas que no se pasan en el diccionario se mantienen intactas. |
start_logging |
Inicia una sesión de registro interactiva y crea una ejecución interactiva en el experimento especificado. |
submit |
Envía un experimento y devuelve la ejecución activa creada. |
tag |
Etiqueta el experimento con una clave de cadena y un valor de cadena opcional. |
archive
Archiva un experimento.
archive()
Comentarios
Después del archivado, el experimento no aparecerá de manera predeterminada. Al intentar escribir en un experimento archivado, se creará un nuevo experimento activo con el mismo nombre. Un experimento archivado se puede restaurar mediante una llamada a reactivate siempre que no haya otro experimento activo con el mismo nombre.
delete
Elimina 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) Carga 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 es None (Ninguno), 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 de 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
|
Filtra el generador de ejecuciones devuelto por el tipo proporcionado. Consulte add_type_provider para crear tipos de ejecución. Valor predeterminado: None
|
tags
|
Filtra las ejecuciones por "etiqueta" o {"etiqueta": "valor"}. Valor predeterminado: None
|
properties
|
Filtra las ejecuciones por "propiedad" o {"propiedad": "valor"}. Valor predeterminado: None
|
include_children
|
De manera predeterminada, solo recupera las 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 los filtros proporcionados. |
list
Devuelve la lista de experimentos del á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 enumeran los experimentos. |
experiment_name
|
Nombre opcional para filtrar los experimentos. Valor predeterminado: None
|
view_type
|
Valor de enumeración opcional para filtrar o incluir los experimentos archivados. Valor predeterminado: ActiveOnly
|
tags
|
Clave de etiqueta opcional o diccionario de pares clave-valor de etiqueta por los que filtrar los 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
Elimina las etiquetas especificadas del experimento.
remove_tags(tags)
Parámetros
Nombre | Description |
---|---|
tags
Requerido
|
[str]
Claves de etiqueta que se van a quitar |
set_tags
Agrega o modifica un conjunto de etiquetas en el experimento. Las etiquetas que no se pasan en el diccionario se mantienen intactas.
set_tags(tags)
Parámetros
Nombre | Description |
---|---|
tags
Requerido
|
Etiquetas almacenadas en el objeto de experimento |
start_logging
Inicia una sesión de registro interactiva y crea 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 toma una instantánea. Si se establece en None (Ninguno), no se tomará 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 los cuadernos de Jupyter. Todas 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
Se genera automáticamente un elemento run_id para cada ejecución y es único dentro del experimento.
submit
Envía un experimento y devuelve la ejecución activa creada.
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, {"etiqueta": "valor"}. Valor predeterminado: None
|
kwargs
Requerido
|
Parámetros adicionales utilizados en la función de envío para las configuraciones. |
Devoluciones
Tipo | Description |
---|---|
Una ejecución. |
Comentarios
El envío es una llamada asincrónica a la plataforma de Azure Machine Learning para ejecutar una prueba en hardware local o remoto. Según la configuración, el envío 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 necesaria.
El siguiente es un ejemplo de cómo enviar un experimento desde la máquina local:
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
Cuando envía 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 cambiados.
Para evitar que los archivos se incluyan en la instantánea, cree un archivo .gitignore o .amlignore en el directorio y agregue en él los archivos. El archivo .amlignore usa la misma sintaxis y los mismos patrones que el archivo .gitignore. Si ambos archivos existen, el archivo .amlignore tiene prioridad.
Para más información, consulte Instantánea.
tag
Etiqueta 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
|
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 generalmente contienen información significativa 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 la hora de archivado del experimento. El valor debe ser None (Ninguno) para un experimento activo.
Devoluciones
Tipo | Description |
---|---|
Hora de archivado del experimento. |
id
Devuelve el identificador del experimento.
Devoluciones
Tipo | Description |
---|---|
Identificador del experimento. |
name
tags
Devuelve el conjunto mutable de etiquetas del experimento.
Devoluciones
Tipo | Description |
---|---|
Etiquetas de un experimento. |
workspace
Devuelve el área de trabajo que contiene el experimento.
Devoluciones
Tipo | Description |
---|---|
Devuelve el objeto de área de trabajo. |