Experiment Classe

Représente le point d’entrée principal pour la création et l’utilisation d’expériences dans Azure Machine Learning.

Une expérience est un conteneur d’ essais qui représentent plusieurs exécutions de modèles.

Constructeur d’expérience.

Héritage
azureml._logging.chained_identity.ChainedIdentity
Experiment
azureml.core._portal.HasExperimentPortal
Experiment

Constructeur

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

Paramètres

Nom Description
workspace
Obligatoire

Objet d’espace de travail contenant l’expérience.

name
Obligatoire
str

Le nom de l’expérience.

kwargs
Obligatoire

Dictionnaire d’arguments de mots clés.

workspace
Obligatoire

Objet d’espace de travail contenant l’expérience.

name
Obligatoire
str

Le nom de l’expérience.

kwargs
Obligatoire

Dictionnaire d’arguments de mots clés.

_skip_name_validation
Valeur par défaut: False
_id
Valeur par défaut: None
_archived_time
Valeur par défaut: None
_create_in_cloud
Valeur par défaut: True
_experiment_dto
Valeur par défaut: None

Remarques

Une expérience Azure Machine Learning représente l’ensemble des essais utilisés pour valider l’hypothèse d’un utilisateur.

Dans Azure Machine Learning, une expérience est représentée par la classe Experiment, et un essai est représenté par la classe Run.

Pour obtenir ou créer une expérience à partir d’un espace de travail, vous devez demander l’expérience à l’aide de son nom. Le nom de l’expérience doit comporter entre 3 et 36 caractères, commencer par une lettre ou un chiffre, et peut contenir uniquement des lettres, des chiffres, des traits de soulignement et des tirets.


   experiment = Experiment(workspace, "MyExperiment")

Si l’expérience est introuvable dans l’espace de travail, une autre expérience est créée.

Il existe deux manières d’exécuter une évaluation d’expérience. Si vous expérimentez un Jupyter Notebook de manière interactive, utilisez start_logging. Si vous soumettez une expérience à partir du code source ou d’un autre type d’essai configuré, utilisez submit.

Les deux mécanismes créent un objet Run. Dans les scénarios interactifs, utilisez des méthodes de journalisation telles que log pour ajouter des mesures et des métriques à l’enregistrement d’essai. Dans les scénarios configurés, utilisez des méthodes d’état telles que get_status pour récupérer les informations relatives à l’exécution.

Dans les deux cas, vous pouvez utiliser des méthodes d’interrogation telles que get_metrics pour récupérer les valeurs actuelles, le cas échéant, des mesures et métriques d’essai.

Méthodes

archive

Archivez une expérience.

delete

Supprimez une expérience de l’espace de travail.

from_directory

(Déconseillé) Charge une expérience à partir du chemin spécifié.

get_docs_url

URL de la documentation pour cette classe.

get_runs

Retourne un générateur des exécutions de cette expérience, dans l’ordre chronologique inverse.

list

Renvoie la liste des expériences dans l’espace de travail.

reactivate

Réactive une expérience archivée.

refresh

Retourne la version la plus récente de l’expérience à partir du cloud.

remove_tags

Supprimez les étiquettes spécifiées de l’expérience.

set_tags

Ajoutez ou modifiez un ensemble d’étiquettes dans l’expérience. Les balises non transmises dans le dictionnaire restent inchangées.

start_logging

Démarre une session de journalisation interactive et crée une exécution interactive dans l’expérience spécifiée.

submit

Soumet une expérience et retourne l’exécution créée active.

tag

Étiquette l’expérience avec une clé de chaîne et une valeur de chaîne facultative.

archive

Archivez une expérience.

archive()

Remarques

Après l’archivage, l’expérience n’est pas listée par défaut. Toute tentative d’écriture dans une expérience archivée entraîne la création d’une expérience active portant le même nom. Vous pouvez restaurer une expérience archivée en appelant reactivate du moment qu’il n’existe pas d’autre expérience active portant le même nom.

delete

Supprimez une expérience de l’espace de travail.

static delete(workspace, experiment_id)

Paramètres

Nom Description
workspace
Obligatoire

Espace de travail auquel appartient l’expérience.

experiment_id
Obligatoire

ID de l’expérience à supprimer.

from_directory

(Déconseillé) Charge une expérience à partir du chemin spécifié.

static from_directory(path, auth=None)

Paramètres

Nom Description
path
Obligatoire
str

Répertoire contenant les fichiers de configuration d’expérience.

auth

Objet d’authentification. Si None est spécifié, les informations d’identification Azure CLI par défaut sont utilisées, ou l’API vous invite à entrer vos informations d’identification.

Valeur par défaut: None

Retours

Type Description

Retourne l’expérience

get_docs_url

URL de la documentation pour cette classe.

get_docs_url()

Retours

Type Description
str

url

get_runs

Retourne un générateur des exécutions de cette expérience, dans l’ordre chronologique inverse.

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

Paramètres

Nom Description
type

Filtrez le générateur renvoyé des exécutions par le type fourni. Consultez add_type_provider pour la création de types d’exécution.

Valeur par défaut: None
tags

Filtre les exécutions par "tag" ou {"tag": "value"}.

Valeur par défaut: None
properties

Le filtre s’exécute par "property" ou {"property": "value"}

Valeur par défaut: None
include_children

Par défaut, extrait uniquement les exécutions de niveau supérieur. Affectez la valeur true pour lister toutes les exécutions.

Valeur par défaut: False

Retours

Type Description

Liste des exécutions correspondant aux filtres fournis.

list

Renvoie la liste des expériences dans l’espace de travail.

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

Paramètres

Nom Description
workspace
Obligatoire

Espace de travail à partir duquel les expériences sont listées.

experiment_name
str

Nom facultatif pour filtrer les expériences.

Valeur par défaut: None
view_type

Valeur enum facultative pour filtrer ou inclure les expériences archivées.

Valeur par défaut: ActiveOnly
tags

Clé d’étiquette facultative ou dictionnaire de paires clé-valeur d’étiquette pour le filtrage des expériences.

Valeur par défaut: None

Retours

Type Description

Liste d’objets d’expérience.

reactivate

Réactive une expérience archivée.

reactivate(new_name=None)

Paramètres

Nom Description
new_name
Obligatoire
str

Plus pris en charge

Remarques

Une expérience archivée ne peut être réactivée que s’il n’existe pas d’autre expérience active portant le même nom.

refresh

Retourne la version la plus récente de l’expérience à partir du cloud.

refresh()

remove_tags

Supprimez les étiquettes spécifiées de l’expérience.

remove_tags(tags)

Paramètres

Nom Description
tags
Obligatoire
[str]

Clés d’étiquette qui vont être supprimées

set_tags

Ajoutez ou modifiez un ensemble d’étiquettes dans l’expérience. Les balises non transmises dans le dictionnaire restent inchangées.

set_tags(tags)

Paramètres

Nom Description
tags
Obligatoire

Étiquettes stockées dans l’objet d’expérience

start_logging

Démarre une session de journalisation interactive et crée une exécution interactive dans l’expérience spécifiée.

start_logging(*args, **kwargs)

Paramètres

Nom Description
experiment
Obligatoire

Expérience.

outputs
Obligatoire
str

Répertoire de sorties facultatif à suivre. Pour aucune sortie, passez False.

snapshot_directory
Obligatoire
str

Répertoire facultatif pouvant faire l’objet d’une capture instantanée. La valeur None ne prend pas de capture instantanée.

args
Obligatoire
kwargs
Obligatoire

Retours

Type Description
Run

Retourne une exécution démarrée.

Remarques

start_logging crée une exécution interactive pour une utilisation dans des scénarios tels que des Jupyter Notebooks. Toutes les métriques qui sont consignées pendant la session sont ajoutées à l’enregistrement d’exécution dans l’expérimentation. Si un répertoire de sortie est spécifié, le contenu de ce répertoire est chargé sous forme d’artefacts d’exécution à la fin de l’exécution.


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

Notes

run_id est généré automatiquement pour chaque exécution et est unique au sein de l’expérience.

submit

Soumet une expérience et retourne l’exécution créée active.

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

Paramètres

Nom Description
config
Obligatoire

Configuration à envoyer.

tags

Étiquettes à ajouter à l’exécution soumise, {"tag": "value"}.

Valeur par défaut: None
kwargs
Obligatoire

Paramètres supplémentaires utilisés dans la fonction submit pour les configurations.

Retours

Type Description
Run

Exécution.

Remarques

La méthode submit est un appel asynchrone à la plateforme Azure Machine Learning pour exécuter un essai sur du matériel local ou distant. En fonction de la configuration, la méthode submit prépare automatiquement vos environnements d’exécution, exécute votre code et capture votre code source ainsi que les résultats dans l’historique des exécutions de l’expérience.

Pour soumettre une expérience, vous devez d’abord créer un objet de configuration décrivant la façon dont l’expérience doit être exécutée. La configuration dépend du type d’essai requis.

Voici un exemple d’envoi d’une expérience à partir de votre machine locale :


   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()

Pour plus d’informations sur la configuration d’une exécution, consultez les détails du type de configuration.

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

Notes

Quand vous soumettez la série de tests d’apprentissage, un instantané du répertoire contenant vos scripts d’apprentissage est créé et envoyé à la cible de calcul. Il est également stocké dans le cadre de l’expérience dans votre espace de travail. Si vous modifiez des fichiers et que vous soumettez à nouveau l’exécution, seuls les fichiers modifiés seront téléchargés.

Pour empêcher les fichiers d’être inclus dans la capture instantanée, créez un fichier .gitignore ou .amlignore dans le répertoire, avant d’y ajouter les fichiers. Le fichier .amlignore utilise la même syntaxe et les mêmes modèles que le fichier .gitignore. Si les deux fichiers existent, le fichier .amlignore est prioritaire.

Pour plus d’informations, consultez Instantanés.

tag

Étiquette l’expérience avec une clé de chaîne et une valeur de chaîne facultative.

tag(key, value=None)

Paramètres

Nom Description
key
Obligatoire
str

Clé de la balise

value
Obligatoire
str

Valeur facultative pour la balise

Remarques

Les étiquettes d’une expérience sont stockées dans un dictionnaire avec des clés de chaîne et des valeurs de chaîne. Les étiquettes peuvent être définies, mises à jour et supprimées. Les étiquettes sont destinées à l’utilisateur et contiennent généralement des informations significatives pour les consommateurs de l’expérience.


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

Attributs

archived_time

Retourne l’heure d’archivage de l’expérience. La valeur doit être None pour une expérience active.

Retours

Type Description
str

Heure d’archivage de l’expérience.

id

Retourne l’ID de l’expérience.

Retours

Type Description
str

ID de l’expérience.

name

Retourne le nom de l’expérience.

Retours

Type Description
str

Nom de l’expérience.

tags

Retourne l’ensemble d’étiquettes mutables de l’expérience.

Retours

Type Description

Étiquettes d’une expérience.

workspace

Retourne l’espace de travail contenant l’expérience.

Retours

Type Description

Retourne l’objet d’espace de travail.

workspace_object

(Déconseillé) Retourne l’espace de travail contenant l’expérience.

Utilisez l’attribut workspace.

Retours

Type Description

Objet d’espace de travail.