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èle.
Constructeur d’expérience.
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
|
Nom de l’expérience. |
kwargs
Obligatoire
|
Dictionnaire d’arguments de mot clé. |
workspace
Obligatoire
|
Objet d’espace de travail contenant l’expérience. |
name
Obligatoire
|
Nom de l’expérience. |
kwargs
Obligatoire
|
Dictionnaire d’arguments de mot clé. |
_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 la collection d’essais utilisés pour valider l’hypothèse d’un utilisateur.
Dans Azure Machine Learning, une expérience est représentée par la Experiment classe et une version d’évaluation est représentée par la Run classe.
Pour obtenir ou créer une expérience à partir d’un espace de travail, vous demandez l’expérience à l’aide du nom de l’expérience. Le nom de l’expérience doit comporter 3 à 36 caractères, commencer par une lettre ou un nombre et ne peut contenir que 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 nouvelle expérience est créée.
Il existe deux façons d’exécuter une version d’évaluation d’expérience. Si vous expérimentez de manière interactive dans un bloc-notes Jupyter, utilisez Si vous envoyez start_logging une expérience à partir du code source ou d’un autre type d’essai configuré, utilisez submit
Les deux mécanismes créent un Run objet. 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’évaluation. Dans les scénarios configurés, utilisez des méthodes d’état telles que get_status pour récupérer des informations sur l’exécution.
Dans les deux cas, vous pouvez utiliser des méthodes de requête comme get_metrics pour récupérer les valeurs actuelles, le cas échéant, des mesures et des métriques d’essai.
Méthodes
archive |
Archivez une expérience. |
delete |
Supprimez une expérience dans l’espace de travail. |
from_directory |
(Déconseillé) Chargez une expérience à partir du chemin spécifié. |
get_docs_url |
URL de la documentation de cette classe. |
get_runs |
Retournez un générateur des exécutions pour cette expérience, dans l’ordre chronologique inverse. |
list |
Retourne la liste des expériences dans l’espace de travail. |
reactivate |
Réactive une expérience archivée. |
refresh |
Retournez la version la plus récente de l’expérience à partir du cloud. |
remove_tags |
Supprimez les balises spécifiées de l’expérience. |
set_tags |
Ajoutez ou modifiez un ensemble de balises sur l’expérience. Les balises non transmises dans le dictionnaire ne sont pas modifiées. |
start_logging |
Démarrez une session de journalisation interactive et créez une exécution interactive dans l’expérience spécifiée. |
submit |
Envoyez une expérience et retournez l’exécution créée active. |
tag |
Étiquetez 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 ne sera pas répertoriée par défaut. Toute tentative d’écriture dans une expérience archivée crée une nouvelle expérience active portant le même nom. Une expérience archivée peut être restaurée en appelant reactivate tant qu’il n’y a pas d’autre expérience active portant le même nom.
delete
Supprimez une expérience dans 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 d’expérience de l’expérience à supprimer. |
from_directory
(Déconseillé) Chargez 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 de l’expérience. |
auth
|
Objet d’authentification. Si aucune des informations d’identification Azure CLI par défaut est utilisée ou que l’API demande des informations d’identification. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Retourne l’expérience |
get_docs_url
get_runs
Retournez un générateur des exécutions pour 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 retourné d’exécutions par le type fourni. Voir add_type_provider pour créer des types d’exécution. Valeur par défaut: None
|
tags
|
Filtre s’exécute par « tag » ou {« tag » : « value »}. Valeur par défaut: None
|
properties
|
Filtre s’exécute par « property » ou {« property » : « value »} Valeur par défaut: None
|
include_children
|
Par défaut, récupérez uniquement les exécutions de niveau supérieur. Définissez la valeur true pour répertorier toutes les exécutions. Valeur par défaut: False
|
Retours
Type | Description |
---|---|
Liste des exécutions correspondant aux filtres fournis. |
list
Retourne 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 répertorier les expériences. |
experiment_name
|
Nom facultatif pour filtrer les expériences. Valeur par défaut: None
|
view_type
|
Valeur d’énumération facultative pour filtrer ou inclure des expériences archivées. Valeur par défaut: ActiveOnly
|
tags
|
Clé de balise facultative ou dictionnaire de paires clé-valeur de balise sur lesquelles filtrer les 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 aucun support n’est 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
Retournez la version la plus récente de l’expérience à partir du cloud.
refresh()
remove_tags
Supprimez les balises spécifiées de l’expérience.
remove_tags(tags)
Paramètres
Nom | Description |
---|---|
tags
Obligatoire
|
[str]
Clés de balise qui seront supprimées |
set_tags
start_logging
Démarrez une session de journalisation interactive et créez une exécution interactive dans l’expérience spécifiée.
start_logging(*args, **kwargs)
Paramètres
Nom | Description |
---|---|
experiment
Obligatoire
|
L’expérience. |
outputs
Obligatoire
|
Répertoire de sorties facultatifs à suivre. Pour aucune sortie, passez False. |
snapshot_directory
Obligatoire
|
Répertoire facultatif pour prendre un instantané de. La valeur Aucun ne prend aucun instantané. |
args
Obligatoire
|
|
kwargs
Obligatoire
|
|
Retours
Type | Description |
---|---|
Retourne une exécution démarrée. |
Remarques
start_logging crée une exécution interactive à utiliser dans des scénarios tels que Jupyter Notebooks. Toutes les métriques enregistrées pendant la session sont ajoutées à l’enregistrement d’exécution dans l’expérience. Si un répertoire de sortie est spécifié, le contenu de ce répertoire est chargé en tant qu’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()
Remarque
run_id est généré automatiquement pour chaque exécution et est unique dans l’expérience.
submit
Envoyez une expérience et retournez l’exécution créée active.
submit(config, tags=None, **kwargs)
Paramètres
Nom | Description |
---|---|
config
Obligatoire
|
Configuration à envoyer. |
tags
|
Balises à ajouter à l’exécution envoyée, {"tag » : « value"}. Valeur par défaut: None
|
kwargs
Obligatoire
|
Paramètres supplémentaires utilisés dans la fonction d’envoi pour les configurations. |
Retours
Type | Description |
---|---|
Exécution. |
Remarques
L’envoi est un appel asynchrone à la plateforme Azure Machine Learning pour exécuter une version d’évaluation sur du matériel local ou distant. Selon la configuration, l’envoi prépare automatiquement vos environnements d’exécution, exécute votre code et capture votre code source et 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 ordinateur 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()
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
Remarque
Lorsque vous envoyez l’exécution de l’entraînement, un instantané du répertoire qui contient 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 les fichiers et envoyez à nouveau l’exécution, seuls les fichiers modifiés seront chargés.
Pour empêcher l’inclusion de fichiers dans l’instantané, créez un fichier .gitignore ou .amlignore dans le répertoire et ajoutez-y 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
Étiquetez 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é d’étiquette |
value
Obligatoire
|
Valeur facultative de la balise |
Remarques
Les balises d’une expérience sont stockées dans un dictionnaire avec des clés de chaîne et des valeurs de chaîne. Les balises peuvent être définies, mises à jour et supprimées. Les balises sont accessibles à l’utilisateur et contiennent généralement des informations de signification 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
Retournez l’heure archivée de l’expérience. La valeur doit être None pour une expérience active.
Retours
Type | Description |
---|---|
Heure archivée de l’expérience. |
id
name
tags
workspace
Retournez l’espace de travail contenant l’expérience.
Retours
Type | Description |
---|---|
Renvoie l’objet d’espace de travail. |