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.ChainedIdentityExperimentazureml.core._portal.HasExperimentPortalExperiment
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
|
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
|
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
|
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
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
|
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
|
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
|
Répertoire de sorties facultatif à suivre. Pour aucune sortie, passez False. |
snapshot_directory
Obligatoire
|
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 |
---|---|
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 |
---|---|
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.
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
|
Clé de la balise |
value
Obligatoire
|
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 |
---|---|
Heure d’archivage de l’expérience. |
id
name
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. |