Partager via


Run Classe

Définit la classe de base pour toutes les exécutions d’expérimentation Azure Machine Learning.

Une exécution représente l’évaluation unique d’une expérience. Les exécutions permettent de superviser l’exécution asynchrone d’une version d’évaluation, de journaliser les métriques et de stocker la sortie de la version d’évaluation, ainsi que d’analyser les résultats et les artefacts d’accès générés par la version d’évaluation.

Les objets d’exécution sont créés lorsque vous envoyez un script pour effectuer la formation d’un modèle dans de nombreux scénarios dans Azure Machine Learning, y compris les exécutions HyperDrive, les exécutions Pipeline et les exécutions AutoML. Un objet d’exécution est également créé quand vous submit ou start_logging avec la classe Experiment.

Pour commencer à utiliser des expériences et des exécutions, consultez

Initialisez l’objet Run.

Héritage
azureml._run_impl.run_base._RunBase
Run

Constructeur

Run(experiment, run_id, outputs=None, **kwargs)

Paramètres

Nom Description
experiment
Obligatoire

Expérience contenante.

run_id
Obligatoire
str

ID de l’exécution.

outputs
str

Sorties à suivre.

valeur par défaut: None
_run_dto
Obligatoire
<xref:azureml._restclient.models.run_dto.RunDto>

À usage interne uniquement

kwargs
Obligatoire

Dictionnaire des paramètres de configuration supplémentaires.

experiment
Obligatoire

Expérience contenante.

run_id
Obligatoire
str

ID de l’exécution.

outputs
Obligatoire
str

Sorties à suivre.

kwargs
Obligatoire

Dictionnaire des paramètres de configuration supplémentaires.

Remarques

Une exécution représente l’évaluation unique d’une expérience. Un objet d’exécution permet de superviser l’exécution asynchrone d’une version d’évaluation, de journaliser les métriques et de stocker la sortie de la version d’évaluation, ainsi que d’analyser les résultats et les artefacts d’accès générés par la version d’évaluation.

L’exécution est utilisée à l’intérieur de votre code d’expérimentation pour enregistrer les métriques et les artefacts dans le service d’historique des exécutions.

L’exécution est utilisée en dehors de vos expériences pour surveiller la progression, mais aussi pour interroger et analyser les métriques et les résultats générés.

La fonctionnalité d’exécution comprend :

  • le stockage et récupération des métriques et des données

  • le chargement et téléchargement de fichiers

  • l’utilisation de balises et de la hiérarchie enfant pour faciliter la recherche des exécutions passées

  • l’inscription de fichiers de modèles stockés en tant que modèle pouvant être mis en œuvre

  • le stockage, la modification et la récupération des propriétés d’une exécution

  • Charger l’exécution actuelle à partir d’un environnement distant avec la méthode get_context

  • Instantané efficace d’un fichier ou d’un répertoire pour la répétabilité

Cette classe fonctionne avec Experiment dans les scénarios suivants :

  • Créer une exécution en exécutant du code à l’aide de submit

  • Créer une exécution interactive dans un notebook à l’aide de start_logging

  • Journaliser des métriques et le téléchargement des artefacts dans votre expérience, par exemple lors de l’utilisation de log

  • Lire des métriques et téléchargement des artefacts lors de l’analyse des résultats expérimentaux, par exemple lors de l’utilisation get_metrics

Pour envoyer une exécution, créez un objet de configuration qui décrit l’exécution de l’expérience. Voici des exemples d’objets de configuration différents que vous pouvez utiliser :

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.train.hyperdrive.HyperDriveConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

Les métriques suivantes peuvent être ajoutées à une exécution pendant l’entraînement d’une expérimentation.

  • Scalaire

    • Journalisez une valeur numérique ou de chaîne dans l’exécution avec le nom donné à l’aide de log. La journalisation d’une métrique dans une exécution entraîne le stockage de cette métrique dans l’enregistrement d’exécution dans l’expérimentation. Vous pouvez consigner la même métrique plusieurs fois pendant une exécution, le résultat étant considéré comme un vecteur de cette métrique.

    • Exemple : run.log("accuracy", 0.95)

  • List

    • Journalisez une liste de valeurs dans l’exécution avec le nom donné à l’aide de log_list.

    • Exemple : run.log_list("accuracies", [0.6, 0.7, 0.87])

  • Ligne

    • L’utilisation de log_row crée une métrique avec plusieurs colonnes, comme décrit dans kwargs. Chaque paramètre nommé génère une colonne avec la valeur spécifiée. Vous pouvez appeler log_row une seule fois pour consigner un tuple arbitraire ou plusieurs fois dans une boucle pour générer une table complète.

    • Exemple : run.log_row("Y over X", x=1, y=0.4)

  • Table de charge de travail

    • Journalisez un objet dictionnaire dans l’exécution avec le nom donné à l’aide de log_table.

    • Exemple : run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})

  • Image

    • Journalisez une image dans l’enregistrement d’exécution. Utilisez log_image pour journaliser un fichier image ou un tracé matplotlib dans l’exécution. Ces images seront visibles et comparables dans l’enregistrement d’exécution.

    • Exemple : run.log_image("ROC", path)

Méthodes

add_properties

Ajoutez des propriétés immuables à l’exécution.

Les balises et les propriétés (les deux dict[str, str]) diffèrent au niveau de leur mutabilité. Les propriétés sont immuables et créent enregistrement permanent à des fins d’audit. Les balises sont mutables. Pour plus d’informations sur l’utilisation des balises et des propriétés, consultez Étiqueter et rechercher des exécutions.

add_type_provider

Raccordement d’extensibilité pour les types d’exécution personnalisés stockés dans l’historique des exécutions.

cancel

Marquez l’exécution comme annulée.

Si un travail est associé à un champ cancel_uri défini, arrêtez également ce travail.

child_run

Crée une exécution enfant.

clean

Supprime les fichiers correspondant à l’exécution actuelle sur la cible spécifiée dans la configuration de série de tests.

complete

Attente du traitement de la file d’attente des tâches.

La tâche est marquée comme terminée. Cette procédure est généralement utilisée dans les scénarios de notebooks interactifs.

create_children

Crée une ou plusieurs exécutions enfants.

download_file

Télécharge un fichier associé à partir du stockage.

download_files

Télécharge les fichiers à partir d’un préfixe de stockage donné (nom de dossier) ou du conteneur entier si le préfixe n’est pas spécifié.

fail

Marque l’exécution comme ayant échoué.

Vous pouvez également définir la propriété Error de l’exécution avec un message ou une exception transmis à error_details.

flush

Attente du traitement de la file d’attente des tâches.

get

Obtient l’exécution pour cet espace de travail avec son ID d’exécution.

get_all_logs

Téléchargez tous les journaux de l’exécution dans un répertoire.

get_children

Obtient tous les enfants de l’exécution actuelle sélectionnée par les filtres spécifiés.

get_context

Retourne le contexte de service actuel.

Utilisez cette méthode pour récupérer le contexte de service actuel pour la journalisation des métriques et le chargement des fichiers. Si allow_offline a la valeur True (valeur par défaut), les actions effectuées sur l’objet d’exécution sont imprimées sur la sortie standard.

get_detailed_status

Récupère (fetch) l’état le plus récent de l’exécution. Si l’état de l’exécution est « En file d’attente », les détails s’affichent.

get_details

Obtient la définition, les informations d’état, les fichiers journaux actuels et d’autres détails de l’exécution.

get_details_with_logs

Retourne l’état de l’exécution, notamment le contenu du fichier journal.

get_environment

Obtient la définition d’environnement qui a été utilisée par cette exécution.

get_file_names

Répertorie les fichiers qui sont stockés en association avec l’exécution.

get_metrics

Récupère les métriques consignées dans l’exécution.

Si recursive a la valeur True (False par défaut), récupère (fetch) les métriques pour les exécutions dans la sous-arborescence de l’exécution donnée.

get_properties

Récupère (fetch) les propriétés les plus récentes de l’exécution à partir du service.

get_secret

Obtient la valeur du secret à partir du contexte d’une exécution.

Obtient la valeur du secret pour le nom fourni. Le nom du secret fait référence à une valeur stockée dans le coffre Azure Key Vault associé à votre espace de travail. Pour obtenir un exemple d’utilisation des secrets, consultez Utiliser des secrets dans les cycles de formation.

get_secrets

Obtient les valeurs de secrets pour une liste donnée de noms de secrets.

Obtient un dictionnaire des secrets trouvés et introuvables pour la liste de noms fournie. Chaque nom de secret fait référence à une valeur stockée dans le coffre Azure Key Vault associé à votre espace de travail. Pour obtenir un exemple d’utilisation des secrets, consultez Utiliser des secrets dans les cycles de formation.

get_snapshot_id

Obtient l’ID d’instantané le plus récent.

get_status

Récupère (fetch) l’état le plus récent de l’exécution.

Les valeurs courantes retournées sont « Exécution en cours (Running) », « Terminé (Finished) » et « Échec (Failed) ».

get_submitted_run

DÉPRÉCIÉ. Utiliser get_context.

Obtient l’exécution soumise pour cette expérience.

get_tags

Récupère (fetch) l’ensemble de balises mutables le plus récent sur l’exécution à partir du service.

list

Obtient la liste des exécutions dans une expérience spécifiée par des filtres facultatifs.

list_by_compute

Obtient la liste des exécutions dans un calcul spécifié par des filtres facultatifs.

log

Consignez une valeur de métrique dans l’exécution avec le nom donné.

log_accuracy_table

Consigne une table de précision dans le magasin d’artefacts.

La métrique de la table de précision est une mesure non scalaire à usage multiple permettant de produire différents types de graphiques en courbes qui varient continuellement sur l’espace des probabilités prédites. Les courbes ROC, les rappels de précision et les courbes d’élévation sont des exemples de ces graphiques.

Le calcul de la table de précision est similaire au calcul d’une courbe ROC. Une courbe ROC stocke des taux vrais positifs et des taux faux positifs à de nombreux seuils de probabilité différents. La table de précision stocke le nombre brut de vrais positifs, de faux positifs, de vrais négatifs et de faux négatifs à de nombreux seuils de probabilité.

Deux méthodes sont utilisées pour sélectionner des seuils : « probabilité » et « centile ». Elles diffèrent dans la façon dont elles sont échantillonnées à partir de l’espace des probabilités prédites.

Les seuils de probabilité sont des seuils espacés uniformément et sont compris entre 0 et 1. Si NUM_POINTS est 5, les seuils de probabilité sont [0.0, 0.25, 0.5, 0.75, 1.0].

Les seuils de centile sont espacés en fonction de la répartition des probabilités prédites. Chaque seuil correspond au centile des données à un seuil de probabilité. Par exemple, si NUM_POINTS est 5, le premier seuil se trouve au centile 0, le deuxième au 25e centile, le troisième au 50e, et ainsi de suite.

Les tables de probabilités et les tables de centiles sont des listes 3D dans lesquelles la première dimension représente l’étiquette de classe, la deuxième dimension représente l’échantillon à un seuil (évolue avec NUM_POINTS) et la troisième dimension a toujours 4 valeurs : TP, FP, TN, FN et toujours dans cet ordre.

Les valeurs de confusion (TP, FP, TN, FN) sont calculées à l’aide de la stratégie une et REST. Pour plus d’informations, consultez le lien suivant : https://en.wikipedia.org/wiki/Multiclass_classification

N = nombre d’échantillons dans le jeu de données de validation (200 dans l’exemple) M = nombre de seuils = nombre d’échantillons issus de l’espace de probabilité (5 dans l’exemple) C = nombre de classes dans le jeu de données complet (3 dans l’exemple)

Certains invariants de la table de précision :

  • TP + FP + TN + FN = N pour tous les seuils de toutes les classes
  • TP + FN est identique pour tous les seuils d’une classe
  • TN + FP est identique pour tous les seuils d’une classe
  • Les tables de probabilités et les tables de centile ont la forme [C, M, 4]

Remarque : M peut être n’importe quelle valeur et contrôle la résolution des graphiques. Ceci est indépendant du jeu de données, est défini lors du calcul des métriques et de l’espace de stockage, du temps de calcul et de la résolution.

Les balises de classe doivent être des chaînes, les valeurs de confusion doivent être des entiers et les seuils doivent être des valeurs à virgule flottante.

log_confusion_matrix

Journalisez une matrice de confusion dans le magasin d’artefacts.

Cela journalise un wrapper autour de la matrice de confusion sklearn. Les données de mesure contiennent les balises de classe et une liste 2D pour la matrice elle-même. Pour plus d’informations sur la façon dont la mesure est calculée, consultez le lien suivant : https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html

log_image

Consignez une métrique d’image dans l’enregistrement d’exécution.

log_list

Journalisez une liste de valeurs de métriques dans l’exécution avec le nom donné.

log_predictions

Journalise les prédictions dans le magasin d’artefacts.

Cela enregistre un score de métrique qui peut être utilisé pour comparer les distributions de valeurs cibles vraies à la distribution de valeurs prédites pour une tâche de régression.

Les prédictions sont classées et les écarts types sont calculés pour les barres d’erreur sur un graphique en courbes.

log_residuals

Journalisez les résidus dans le magasin d’artefacts.

Cela permet de journaliser les données nécessaires pour afficher un histogramme des résidus d’une tâche de régression. Les résidus sont prédits - réels.

Il doit y avoir une arête supplémentaire au nombre de décomptes. Pour obtenir des exemples d’utilisation des décomptes et des arêtes pour représenter un histogramme, consultez la documentation de l’histogramme. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

log_row

Journalisez une métrique de ligne dans l’exécution avec le nom donné.

log_table

Consignez une métrique de table dans l’exécution avec le nom donné.

register_model

Inscrire un modèle pour la mise en œuvre.

remove_tags

Supprimez la liste des balises mutables sur cette exécution.

restore_snapshot

Restaure un instantané sous la forme d’un fichier ZIP. Retourne le chemin d’accès au fichier ZIP.

set_tags

Ajoute ou modifie un ensemble de balises sur l’exécution. Les balises non transmises dans le dictionnaire restent inchangées.

Vous pouvez également ajouter des balises de chaîne simples. Quand ces balises apparaissent dans le dictionnaire des balises sous forme de clés, leur valeur est None. Pour plus d’informations, consultez Étiqueter et rechercher des exécutions.

start

Marque l’exécution comme ayant démarré.

Cela est généralement utilisé dans les scénarios avancés quand l’exécution a été créée par un autre acteur.

submit_child

Envoyez une expérience et retournez l’exécution enfant active.

tag

Étiquetez l’exécution avec une clé de chaîne et une valeur de chaîne facultative.

take_snapshot

Enregistre un instantané du fichier ou du dossier d’entrée.

upload_file

Chargez un fichier sur l’enregistrement d’exécution.

upload_files

Chargez les fichiers sur l’enregistrement d’exécution.

upload_folder

Chargez le dossier spécifié avec le nom de préfixe donné.

wait_for_completion

Attendez la fin de l’exécution de cette exécution. Retourne l’objet d’état à l’issue de l’attente.

add_properties

Ajoutez des propriétés immuables à l’exécution.

Les balises et les propriétés (les deux dict[str, str]) diffèrent au niveau de leur mutabilité. Les propriétés sont immuables et créent enregistrement permanent à des fins d’audit. Les balises sont mutables. Pour plus d’informations sur l’utilisation des balises et des propriétés, consultez Étiqueter et rechercher des exécutions.

add_properties(properties)

Paramètres

Nom Description
properties
Obligatoire

Propriétés masquées stockées dans l’objet d’exécution.

add_type_provider

Raccordement d’extensibilité pour les types d’exécution personnalisés stockés dans l’historique des exécutions.

static add_type_provider(runtype, run_factory)

Paramètres

Nom Description
runtype
Obligatoire
str

Valeur de Run.type pour laquelle la fabrique sera appelée. Par exemple « hyperdrive » ou « azureml.scriptrun », mais il peut être étendu avec des types personnalisés.

run_factory
Obligatoire
<xref:function>

Fonction avec signature (Experiment, RunDto) : > exécution à appeler lors de l’exécution de création de la liste.

cancel

Marquez l’exécution comme annulée.

Si un travail est associé à un champ cancel_uri défini, arrêtez également ce travail.

cancel()

child_run

Crée une exécution enfant.

child_run(name=None, run_id=None, outputs=None)

Paramètres

Nom Description
name
str

Nom facultatif pour l’exécution enfant, généralement spécifié pour une « partie ».

valeur par défaut: None
run_id
str

ID d’exécution facultatif pour l’enfant. S’il n’est pas défini, il est généré automatiquement. En général, ce paramètre n’est pas défini.

valeur par défaut: None
outputs
str

Répertoire de sorties facultatif à suivre pour l’enfant.

valeur par défaut: None

Retours

Type Description
Run

Exécution enfant.

Remarques

Utilisé pour isoler une partie d’une exécution dans une sous-section. Cette opération peut être effectuée pour les « parties » identifiables d’une exécution que vous souhaitez dissocier ou pour capturer des métriques indépendantes dans une itération d’un sous-processus.

Si un répertoire de sortie est défini pour l’exécution enfant, le contenu de ce répertoire est chargé dans l’enregistrement d’exécution enfant quand l’enfant s’est effectué.

clean

Supprime les fichiers correspondant à l’exécution actuelle sur la cible spécifiée dans la configuration de série de tests.

clean()

Retours

Type Description

Liste des fichiers supprimés.

complete

Attente du traitement de la file d’attente des tâches.

La tâche est marquée comme terminée. Cette procédure est généralement utilisée dans les scénarios de notebooks interactifs.

complete(_set_status=True)

Paramètres

Nom Description
_set_status

Indique si l’événement d’état doit être envoyé pour le suivi.

valeur par défaut: True

create_children

Crée une ou plusieurs exécutions enfants.

create_children(count=None, tag_key=None, tag_values=None)

Paramètres

Nom Description
count
int

Nombre facultatif d’enfants à créer.

valeur par défaut: None
tag_key
str

Clé facultative pour remplir l’entrée des balises dans tous les enfants créés.

valeur par défaut: None
tag_Values
Obligatoire

Liste facultative de valeurs qui sont mappées sur Tags[tag_key] pour la liste des exécutions créées.

tag_values
valeur par défaut: None

Retours

Type Description

Liste des exécutions enfants.

Remarques

Le paramètre count OU les paramètres tag_key ET tag_values doivent être spécifiés.

download_file

Télécharge un fichier associé à partir du stockage.

download_file(name, output_file_path=None, _validate_checksum=False)

Paramètres

Nom Description
name
Obligatoire
str

Nom de l’artefact à télécharger.

output_file_path
Obligatoire
str

Chemin d’accès local où stocker l’artefact.

download_files

Télécharge les fichiers à partir d’un préfixe de stockage donné (nom de dossier) ou du conteneur entier si le préfixe n’est pas spécifié.

download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)

Paramètres

Nom Description
prefix
Obligatoire
str

Préfixe du chemin d’accès au fichier au sein du conteneur à partir duquel télécharger tous les artefacts.

output_directory
Obligatoire
str

Répertoire facultatif que tous les chemins d’artefact utilisent comme préfixes.

output_paths
Obligatoire
[str]

Chemins d’accès aux fichiers facultatifs dans lesquels stocker les artefacts téléchargés. Doit être unique et correspondre à la longueur des chemins.

batch_size
Obligatoire
int

Nombre de fichiers à télécharger par lot. La valeur par défaut est 100 fichiers.

append_prefix
Obligatoire

Indicateur facultatif pour déterminer s’il faut ajouter le préfixe spécifié à partir du chemin du fichier de sortie final. Si False est défini, le préfixe est supprimé du chemin du fichier de sortie.

timeout_seconds
Obligatoire
int

Délai de téléchargement des fichiers.

fail

Marque l’exécution comme ayant échoué.

Vous pouvez également définir la propriété Error de l’exécution avec un message ou une exception transmis à error_details.

fail(error_details=None, error_code=None, _set_status=True)

Paramètres

Nom Description
error_details

Détails facultatifs de l’erreur.

valeur par défaut: None
error_code
str

Code d’erreur facultatif pour la classification des erreurs.

valeur par défaut: None
_set_status

Indique si l’événement d’état doit être envoyé pour le suivi.

valeur par défaut: True

flush

Attente du traitement de la file d’attente des tâches.

flush(timeout_seconds=300)

Paramètres

Nom Description
timeout_seconds
int

Délai d’attente (en secondes) pour le traitement de la file d’attente des tâches.

valeur par défaut: 300

get

Obtient l’exécution pour cet espace de travail avec son ID d’exécution.

static get(workspace, run_id)

Paramètres

Nom Description
workspace
Obligatoire

Espace de travail contenant.

run_id
Obligatoire

ID d’exécution.

Retours

Type Description
Run

Exécution soumise.

get_all_logs

Téléchargez tous les journaux de l’exécution dans un répertoire.

get_all_logs(destination=None)

Paramètres

Nom Description
destination
str

Chemin de destination pour stocker les journaux. Si aucune valeur n’est spécifiée, un répertoire nommé comme l’ID d’exécution est créé dans le répertoire du projet.

valeur par défaut: None

Retours

Type Description

Liste des noms des journaux téléchargés.

get_children

Obtient tous les enfants de l’exécution actuelle sélectionnée par les filtres spécifiés.

get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)

Paramètres

Nom Description
recursive

Indique si tous les descendants doivent être parcourus de manière récursive.

valeur par défaut: False
tags
str ou dict

Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur "tag" ou {"tag": "value"} spécifiée.

valeur par défaut: None
properties
str ou dict

Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur de propriété "property" ou {"property": "value"} spécifiée.

valeur par défaut: None
type
str

Si la valeur est spécifiée, retourne les exécutions correspondant à ce type.

valeur par défaut: None
status
str

Si la valeur est spécifiée, retourne les exécutions correspondant à l’état spécifié "status".

valeur par défaut: None
_rehydrate_runs

Indique s’il faut instancier une exécution du type d’origine ou de l’exécution de base.

valeur par défaut: True

Retours

Type Description

Liste des objets Run.

get_context

Retourne le contexte de service actuel.

Utilisez cette méthode pour récupérer le contexte de service actuel pour la journalisation des métriques et le chargement des fichiers. Si allow_offline a la valeur True (valeur par défaut), les actions effectuées sur l’objet d’exécution sont imprimées sur la sortie standard.

get_context(allow_offline=True, used_for_context_manager=False, **kwargs)

Paramètres

Nom Description
cls
Obligatoire

Indique la méthode de classe.

allow_offline

Autorise le contexte de service à revenir en mode hors connexion afin que le script de formation puisse être testé localement sans envoyer de travail avec le kit de développement logiciel (SDK). La valeur par défaut est True.

valeur par défaut: True
kwargs
Obligatoire

Dictionnaire des paramètres supplémentaires.

used_for_context_manager
valeur par défaut: False

Retours

Type Description
Run

Exécution soumise.

Remarques

Cette fonction est généralement utilisée pour récupérer l’objet d’exécution authentifié à l’intérieur d’un script devant être envoyé pour être exécuté via experiment.submit(). Cet objet d’exécution est à la fois un contexte authentifié pour communiquer avec les services Azure Machine Learning et un conteneur conceptuel comprenant les métriques, les fichiers (artefacts) et les modèles.


   run = Run.get_context() # allow_offline=True by default, so can be run locally as well
   ...
   run.log("Accuracy", 0.98)
   run.log_row("Performance", epoch=e, error=err)

get_detailed_status

Récupère (fetch) l’état le plus récent de l’exécution. Si l’état de l’exécution est « En file d’attente », les détails s’affichent.

get_detailed_status()

Retours

Type Description

État et détails les plus récents

Remarques

  • status : état actuel de l’exécution. Même valeur que celle retournée à partir de get_status().

  • details : informations détaillées sur l’état actuel.


   run = experiment.submit(config)
   details = run.get_detailed_status()
   # details = {
   #     'status': 'Queued',
   #     'details': 'Run requested 1 node(s). Run is in pending status.',
   # }

get_details

Obtient la définition, les informations d’état, les fichiers journaux actuels et d’autres détails de l’exécution.

get_details()

Retours

Type Description

Retourne les détails de l’exécution

Remarques

Le dictionnaire retourné contient les paires clé-valeur suivantes :

  • runId : ID de cette exécution.

  • cible

  • status : état actuel de l’exécution. Même valeur que celle retournée à partir de get_status().

  • startTimeUtc : heure UTC de démarrage de cette exécution, au format ISO8601.

  • endTimeUtc : heure UTC de fin de l’exécution (terminée ou échec), au format ISO8601.

    Cette clé n’existe pas si l’exécution est toujours en cours.

  • properties : paires clé-valeur immuables associées à l’exécution. Les propriétés par défaut incluent l’ID d’instantané de l’exécution et des informations sur le référentiel git à partir duquel l’exécution a été créée (le cas échéant). Des propriétés supplémentaires peuvent être ajoutées à une exécution à l’aide de add_properties.

  • inputDatasets : jeux de données d’entrée associés à l’exécution.

  • outputDatasets : jeux de données de sortie associés à l’exécution.

  • logFiles

  • submittedBy


   run = experiment.start_logging()

   details = run.get_details()
   # details = {
   #     'runId': '5c24aa28-6e4a-4572-96a0-fb522d26fe2d',
   #     'target': 'sdk',
   #     'status': 'Running',
   #     'startTimeUtc': '2019-01-01T13:08:01.713777Z',
   #     'endTimeUtc': '2019-01-01T17:15:65.986253Z',
   #     'properties': {
   #         'azureml.git.repository_uri': 'https://example.com/my/git/repo',
   #         'azureml.git.branch': 'master',
   #         'azureml.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
   #         'azureml.git.dirty': 'True',
   #         'mlflow.source.git.repoURL': 'https://example.com/my/git/repo',
   #         'mlflow.source.git.branch': 'master',
   #         'mlflow.source.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
   #         'ContentSnapshotId': 'b4689489-ce2f-4db5-b6d7-6ad11e77079c'
   #     },
   #     'inputDatasets': [{
   #         'dataset': {'id': 'cdebf245-701d-4a68-8055-41f9cf44f298'},
   #         'consumptionDetails': {
   #             'type': 'RunInput',
   #             'inputName': 'training-data',
   #             'mechanism': 'Mount',
   #             'pathOnCompute': '/mnt/datasets/train'
   #         }
   #     }],
   #     'outputDatasets': [{
   #         'dataset': {'id': 'd04e8a19-1caa-4b1f-b318-4cbff9af9615'},
   #         'outputType': 'RunOutput',
   #         'outputDetails': {
   #             'outputName': 'training-result'
   #         }
   #     }],
   #     'runDefinition': {},
   #     'logFiles': {},
   #     'submittedBy': 'Alan Turing'
   # }

get_details_with_logs

Retourne l’état de l’exécution, notamment le contenu du fichier journal.

get_details_with_logs()

Retours

Type Description

Retourne l’état de l’exécution avec le contenu du fichier journal.

get_environment

Obtient la définition d’environnement qui a été utilisée par cette exécution.

get_environment()

Retours

Type Description

Retourne l’objet d’environnement.

get_file_names

Répertorie les fichiers qui sont stockés en association avec l’exécution.

get_file_names()

Retours

Type Description

Liste des chemins pour les artefacts existants

get_metrics

Récupère les métriques consignées dans l’exécution.

Si recursive a la valeur True (False par défaut), récupère (fetch) les métriques pour les exécutions dans la sous-arborescence de l’exécution donnée.

get_metrics(name=None, recursive=False, run_type=None, populate=False)

Paramètres

Nom Description
name
str

Nom de la mesure.

valeur par défaut: None
recursive

Indique si tous les descendants doivent être parcourus de manière récursive.

valeur par défaut: False
run_type
str
valeur par défaut: None
populate

Indique si le contenu de données externes liées à la métrique doit être récupéré (fetch).

valeur par défaut: False

Retours

Type Description

Dictionnaire contenant les métriques des utilisateurs.

Remarques


   run = experiment.start_logging() # run id: 123
   run.log("A", 1)
   with run.child_run() as child: # run id: 456
       child.log("A", 2)

   metrics = run.get_metrics()
   # metrics = { 'A': 1 }

   metrics = run.get_metrics(recursive=True)
   # metrics = { '123': { 'A': 1 }, '456': { 'A': 2 } } note key is runId

get_properties

Récupère (fetch) les propriétés les plus récentes de l’exécution à partir du service.

get_properties()

Retours

Type Description

Propriétés de l’exécution.

Remarques

Les propriétés sont des informations immuables générées par le système, comme la durée, la date d’exécution, l’utilisateur et les propriétés personnalisées ajoutées à la méthode add_properties. Pour plus d’informations, consultez Étiqueter et rechercher des exécutions.

Lors de l’envoi d’un travail à Azure Machine Learning, si les fichiers sources sont stockés dans un référentiel Git local, les informations sur le référentiel sont stockées en tant que priorités. Ces propriétés Git sont ajoutées lors de la création d’une exécution ou de l’appel Experiment.submit. Pour plus d’informations sur les propriétés Git, consultez Intégration de Git pour Azure Machine Learning.

get_secret

Obtient la valeur du secret à partir du contexte d’une exécution.

Obtient la valeur du secret pour le nom fourni. Le nom du secret fait référence à une valeur stockée dans le coffre Azure Key Vault associé à votre espace de travail. Pour obtenir un exemple d’utilisation des secrets, consultez Utiliser des secrets dans les cycles de formation.

get_secret(name)

Paramètres

Nom Description
name
Obligatoire
str

Nom du secret pour lequel un secret doit être retourné.

Retours

Type Description
str

Valeur du secret.

get_secrets

Obtient les valeurs de secrets pour une liste donnée de noms de secrets.

Obtient un dictionnaire des secrets trouvés et introuvables pour la liste de noms fournie. Chaque nom de secret fait référence à une valeur stockée dans le coffre Azure Key Vault associé à votre espace de travail. Pour obtenir un exemple d’utilisation des secrets, consultez Utiliser des secrets dans les cycles de formation.

get_secrets(secrets)

Paramètres

Nom Description
secrets
Obligatoire

Liste des noms de secrets pour lesquels des valeurs secrètes doivent être retournées.

Retours

Type Description

Retourne un dictionnaire des secrets trouvés et introuvables.

get_snapshot_id

Obtient l’ID d’instantané le plus récent.

get_snapshot_id()

Retours

Type Description
str

ID d’instantané le plus récent.

get_status

Récupère (fetch) l’état le plus récent de l’exécution.

Les valeurs courantes retournées sont « Exécution en cours (Running) », « Terminé (Finished) » et « Échec (Failed) ».

get_status()

Retours

Type Description
str

État le plus récent.

Remarques

  • NotStarted : il s’agit d’un état temporaire côté client. Les objets d’exécution sont intégrés avant l’envoi au cloud.

  • Démarrage : l’exécution a commencé à être traitée dans le cloud. L’appelant a un ID d’exécution à ce stade.

  • Provisionnement : renvoyé quand le calcul à la demande est en cours de création pour l’envoi d’un travail donné.

  • Préparation : l’environnement d’exécution est en cours de préparation :

    • Génération de l’image Docker

    • Configuration de l’environnement Conda

  • En attente : le travail est mis en file d’attente dans la cible de calcul. Dans BatchAI par exemple, le travail a l’état de file d’attente

    en attendant que tous les nœuds demandés soient prêts.

  • Running (En cours d’exécution) : la tâche a commencé à s’exécuter sur la cible de calcul.

  • Finalisation : le code utilisateur s’est exécuté et l’exécution se trouve dans les étapes de post-traitement.

  • CancelRequested : l’annulation a été demandée pour le travail.

  • Terminé : l’exécution s’est terminée avec succès. Cela comprend à la fois le code utilisateur et l’exécution

    Étapes de post-traitement.

  • Failed (Échec) : l’exécution a échoué. En règle générale, la propriété Error d’une exécution fournit des détails sur la raison de l’échec.

  • Annulé : suit une demande d’annulation et indique que l’exécution a bien été annulée.

  • NotResponding : pour les exécutions pour lesquelles des pulsations sont activées, aucune pulsation n’a été envoyée récemment.


   run = experiment.submit(config)
   while run.get_status() not in ['Completed', 'Failed']: # For example purposes only, not exhaustive
       print('Run {} not in terminal state'.format(run.id))
       time.sleep(10)

get_submitted_run

DÉPRÉCIÉ. Utiliser get_context.

Obtient l’exécution soumise pour cette expérience.

get_submitted_run(**kwargs)

Retours

Type Description
Run

Exécution soumise.

get_tags

Récupère (fetch) l’ensemble de balises mutables le plus récent sur l’exécution à partir du service.

get_tags()

Retours

Type Description

Balises stockées sur l’objet d’exécution.

list

Obtient la liste des exécutions dans une expérience spécifiée par des filtres facultatifs.

static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)

Paramètres

Nom Description
experiment
Obligatoire

Expérience contenante.

type
str

Si la valeur est spécifiée, retourne les exécutions correspondant au type spécifié.

valeur par défaut: None
tags
str ou dict

Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur "tag" ou {"tag": "value"} spécifiée.

valeur par défaut: None
properties
str ou dict

Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur de propriété "property" ou {"property": "value"} spécifiée.

valeur par défaut: None
status
str

Si la valeur est spécifiée, retourne les exécutions correspondant à l’état spécifié "status".

valeur par défaut: None
include_children

Si True est défini, récupère (fetch) toutes les exécutions, pas uniquement celles de niveau supérieur.

valeur par défaut: False
_rehydrate_runs

Si True est défini (par défaut), utilise le fournisseur inscrit pour instancier de nouveau un objet pour ce type au lieu de l’exécution de base.

valeur par défaut: True

Retours

Type Description

Liste des exécutions.

Remarques

L’exemple de code suivant illustre certains utilisations de la méthode list.


   favorite_completed_runs = Run.list(experiment, status='Completed', tags='favorite')

   all_distinct_runs = Run.list(experiment)
   and_their_children = Run.list(experiment, include_children=True)

   only_script_runs = Run.list(experiment, type=ScriptRun.RUN_TYPE)

list_by_compute

Obtient la liste des exécutions dans un calcul spécifié par des filtres facultatifs.

static list_by_compute(compute, type=None, tags=None, properties=None, status=None)

Paramètres

Nom Description
compute
Obligatoire

Calcul contenant.

type
str

Si la valeur est spécifiée, retourne les exécutions correspondant au type spécifié.

valeur par défaut: None
tags
str ou dict

Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur "tag" ou {"tag": "value"} spécifiée.

valeur par défaut: None
properties
str ou dict

Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur de propriété "property" ou {"property": "value"} spécifiée.

valeur par défaut: None
status
str

Si la valeur est spécifiée, retourne les exécutions correspondant à l’état spécifié "status". Les valeurs autorisées sont « En cours (Running) » et « File d’attente (Queued) ».

valeur par défaut: None

Retours

Type Description
<xref:builtin.generator>

Générateur de ~_restclient.models.RunDto

log

Consignez une valeur de métrique dans l’exécution avec le nom donné.

log(name, value, description='', step=None)

Paramètres

Nom Description
name
Obligatoire
str

Nom de la métrique.

value
Obligatoire

Valeur à publier dans le service.

description
Obligatoire
str

Description facultative de la métrique.

step
int

Axe facultatif permettant de spécifier l’ordre des valeurs dans une métrique.

valeur par défaut: None

Remarques

La journalisation d’une métrique dans une exécution entraîne le stockage de cette métrique dans l’enregistrement d’exécution dans l’expérimentation. Vous pouvez consigner la même métrique plusieurs fois pendant une exécution, le résultat étant considéré comme un vecteur de cette métrique. Si l’étape est spécifiée pour une métrique, elle doit être spécifiée pour toutes les valeurs.

log_accuracy_table

Consigne une table de précision dans le magasin d’artefacts.

La métrique de la table de précision est une mesure non scalaire à usage multiple permettant de produire différents types de graphiques en courbes qui varient continuellement sur l’espace des probabilités prédites. Les courbes ROC, les rappels de précision et les courbes d’élévation sont des exemples de ces graphiques.

Le calcul de la table de précision est similaire au calcul d’une courbe ROC. Une courbe ROC stocke des taux vrais positifs et des taux faux positifs à de nombreux seuils de probabilité différents. La table de précision stocke le nombre brut de vrais positifs, de faux positifs, de vrais négatifs et de faux négatifs à de nombreux seuils de probabilité.

Deux méthodes sont utilisées pour sélectionner des seuils : « probabilité » et « centile ». Elles diffèrent dans la façon dont elles sont échantillonnées à partir de l’espace des probabilités prédites.

Les seuils de probabilité sont des seuils espacés uniformément et sont compris entre 0 et 1. Si NUM_POINTS est 5, les seuils de probabilité sont [0.0, 0.25, 0.5, 0.75, 1.0].

Les seuils de centile sont espacés en fonction de la répartition des probabilités prédites. Chaque seuil correspond au centile des données à un seuil de probabilité. Par exemple, si NUM_POINTS est 5, le premier seuil se trouve au centile 0, le deuxième au 25e centile, le troisième au 50e, et ainsi de suite.

Les tables de probabilités et les tables de centiles sont des listes 3D dans lesquelles la première dimension représente l’étiquette de classe, la deuxième dimension représente l’échantillon à un seuil (évolue avec NUM_POINTS) et la troisième dimension a toujours 4 valeurs : TP, FP, TN, FN et toujours dans cet ordre.

Les valeurs de confusion (TP, FP, TN, FN) sont calculées à l’aide de la stratégie une et REST. Pour plus d’informations, consultez le lien suivant : https://en.wikipedia.org/wiki/Multiclass_classification

N = nombre d’échantillons dans le jeu de données de validation (200 dans l’exemple) M = nombre de seuils = nombre d’échantillons issus de l’espace de probabilité (5 dans l’exemple) C = nombre de classes dans le jeu de données complet (3 dans l’exemple)

Certains invariants de la table de précision :

  • TP + FP + TN + FN = N pour tous les seuils de toutes les classes
  • TP + FN est identique pour tous les seuils d’une classe
  • TN + FP est identique pour tous les seuils d’une classe
  • Les tables de probabilités et les tables de centile ont la forme [C, M, 4]

Remarque : M peut être n’importe quelle valeur et contrôle la résolution des graphiques. Ceci est indépendant du jeu de données, est défini lors du calcul des métriques et de l’espace de stockage, du temps de calcul et de la résolution.

Les balises de classe doivent être des chaînes, les valeurs de confusion doivent être des entiers et les seuils doivent être des valeurs à virgule flottante.

log_accuracy_table(name, value, description='')

Paramètres

Nom Description
name
Obligatoire
str

Nom de la table de précision.

value
Obligatoire
str ou dict

JSON contenant le nom, la version et les propriétés des données.

description
Obligatoire
str

Description facultative de la métrique.

Remarques

Exemple de valeur JSON valide :


   {
       "schema_type": "accuracy_table",
       "schema_version": "1.0.1",
       "data": {
           "probability_tables": [
               [
                   [82, 118, 0, 0],
                   [75, 31, 87, 7],
                   [66, 9, 109, 16],
                   [46, 2, 116, 36],
                   [0, 0, 118, 82]
               ],
               [
                   [60, 140, 0, 0],
                   [56, 20, 120, 4],
                   [47, 4, 136, 13],
                   [28, 0, 140, 32],
                   [0, 0, 140, 60]
               ],
               [
                   [58, 142, 0, 0],
                   [53, 29, 113, 5],
                   [40, 10, 132, 18],
                   [24, 1, 141, 34],
                   [0, 0, 142, 58]
               ]
           ],
           "percentile_tables": [
               [
                   [82, 118, 0, 0],
                   [82, 67, 51, 0],
                   [75, 26, 92, 7],
                   [48, 3, 115, 34],
                   [3, 0, 118, 79]
               ],
               [
                   [60, 140, 0, 0],
                   [60, 89, 51, 0],
                   [60, 41, 99, 0],
                   [46, 5, 135, 14],
                   [3, 0, 140, 57]
               ],
               [
                   [58, 142, 0, 0],
                   [56, 93, 49, 2],
                   [54, 47, 95, 4],
                   [41, 10, 132, 17],
                   [3, 0, 142, 55]
               ]
           ],
           "probability_thresholds": [0.0, 0.25, 0.5, 0.75, 1.0],
           "percentile_thresholds": [0.0, 0.01, 0.24, 0.98, 1.0],
           "class_labels": ["0", "1", "2"]
       }
   }

log_confusion_matrix

Journalisez une matrice de confusion dans le magasin d’artefacts.

Cela journalise un wrapper autour de la matrice de confusion sklearn. Les données de mesure contiennent les balises de classe et une liste 2D pour la matrice elle-même. Pour plus d’informations sur la façon dont la mesure est calculée, consultez le lien suivant : https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html

log_confusion_matrix(name, value, description='')

Paramètres

Nom Description
name
Obligatoire
str

Nom de la matrice de confusion.

value
Obligatoire
str ou dict

JSON contenant le nom, la version et les propriétés des données.

description
Obligatoire
str

Description facultative de la métrique.

Remarques

Exemple de valeur JSON valide :


   {
       "schema_type": "confusion_matrix",
       "schema_version": "1.0.0",
       "data": {
           "class_labels": ["0", "1", "2", "3"],
           "matrix": [
               [3, 0, 1, 0],
               [0, 1, 0, 1],
               [0, 0, 1, 0],
               [0, 0, 0, 1]
           ]
       }
   }

log_image

Consignez une métrique d’image dans l’enregistrement d’exécution.

log_image(name, path=None, plot=None, description='')

Paramètres

Nom Description
name
Obligatoire
str

Nom de la mesure.

path
Obligatoire
str

Chemin d’accès ou flux de l’image.

plot
Obligatoire
<xref:matplotlib.pyplot>

Tracé à journaliser en tant qu’image.

description
Obligatoire
str

Description facultative de la métrique.

Remarques

Utilisez cette méthode pour consigner un fichier image ou un tracé matplotlib dans l’exécution. Ces images seront visibles et comparables dans l’enregistrement d’exécution.

log_list

Journalisez une liste de valeurs de métriques dans l’exécution avec le nom donné.

log_list(name, value, description='')

Paramètres

Nom Description
name
Obligatoire
str

Nom de la métrique.

value
Obligatoire

Valeurs de la métrique.

description
Obligatoire
str

Description facultative de la métrique.

log_predictions

Journalise les prédictions dans le magasin d’artefacts.

Cela enregistre un score de métrique qui peut être utilisé pour comparer les distributions de valeurs cibles vraies à la distribution de valeurs prédites pour une tâche de régression.

Les prédictions sont classées et les écarts types sont calculés pour les barres d’erreur sur un graphique en courbes.

log_predictions(name, value, description='')

Paramètres

Nom Description
name
Obligatoire
str

Nom des prédictions.

value
Obligatoire
str ou dict

JSON contenant le nom, la version et les propriétés des données.

description
Obligatoire
str

Description facultative de la métrique.

Remarques

Exemple de valeur JSON valide :


   {
       "schema_type": "predictions",
       "schema_version": "1.0.0",
       "data": {
           "bin_averages": [0.25, 0.75],
           "bin_errors": [0.013, 0.042],
           "bin_counts": [56, 34],
           "bin_edges": [0.0, 0.5, 1.0]
       }
   }

log_residuals

Journalisez les résidus dans le magasin d’artefacts.

Cela permet de journaliser les données nécessaires pour afficher un histogramme des résidus d’une tâche de régression. Les résidus sont prédits - réels.

Il doit y avoir une arête supplémentaire au nombre de décomptes. Pour obtenir des exemples d’utilisation des décomptes et des arêtes pour représenter un histogramme, consultez la documentation de l’histogramme. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

log_residuals(name, value, description='')

Paramètres

Nom Description
name
Obligatoire
str

Nom des résidus.

value
Obligatoire
str ou dict

JSON contenant le nom, la version et les propriétés des données.

description
Obligatoire
str

Description facultative de la métrique.

Remarques

Exemple de valeur JSON valide :


   {
       "schema_type": "residuals",
       "schema_version": "1.0.0",
       "data": {
           "bin_edges": [50, 100, 200, 300, 350],
           "bin_counts": [0.88, 20, 30, 50.99]
       }
   }

log_row

Journalisez une métrique de ligne dans l’exécution avec le nom donné.

log_row(name, description=None, **kwargs)

Paramètres

Nom Description
name
Obligatoire
str

Nom de la métrique.

description
str

Description facultative de la métrique.

valeur par défaut: None
kwargs
Obligatoire

Dictionnaire des paramètres supplémentaires. Dans ce cas, les colonnes de la métrique.

Remarques

L’utilisation de log_row crée une métrique de table avec des colonnes, comme décrit dans kwargs. Chaque paramètre nommé génère une colonne avec la valeur spécifiée. Vous pouvez appeler log_row une seule fois pour journaliser un tuple arbitraire ou plusieurs fois dans une boucle pour générer une table complète.


   citrus = ['orange', 'lemon', 'lime']
   sizes = [ 10, 7, 3]
   for index in range(len(citrus)):
       run.log_row("citrus", fruit = citrus[index], size=sizes[index])

log_table

Consignez une métrique de table dans l’exécution avec le nom donné.

log_table(name, value, description='')

Paramètres

Nom Description
name
Obligatoire
str

Nom de la métrique.

value
Obligatoire

Valeur de table de la métrique, un dictionnaire où les clés sont des colonnes à publier dans le service.

description
Obligatoire
str

Description facultative de la métrique.

register_model

Inscrire un modèle pour la mise en œuvre.

register_model(model_name, model_path=None, tags=None, properties=None, model_framework=None, model_framework_version=None, description=None, datasets=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None, **kwargs)

Paramètres

Nom Description
model_name
Obligatoire
str

Nom du modèle.

model_path
str

Chemin d’accès cloud relatif au modèle, par exemple, « outputs/modelname ». Lorsqu’il n’est pas spécifié (None), model_name est utilisé comme chemin d’accès.

valeur par défaut: None
tags

Dictionnaire des balises de valeur de clé à attribuer au modèle.

valeur par défaut: None
properties

Dictionnaire des propriétés de valeur de clé à attribuer au modèle. Ces propriétés ne peuvent pas être modifiées après la création du modèle. De nouvelles paires clé/valeur peuvent toutefois être ajoutées.

valeur par défaut: None
model_framework
str

Infrastructure du modèle à inscrire. Infrastructures actuellement prises en charge : TensorFlow, ScikitLearn, Onnx, Custom, Multi

valeur par défaut: None
model_framework_version
str

Version d’infrastructure du modèle inscrit.

valeur par défaut: None
description
str

Description facultative du modèle.

valeur par défaut: None
datasets

Liste des tuples où le premier élément décrit la relation jeu de données-modèle et le deuxième élément correspond au jeu de données.

valeur par défaut: None
sample_input_dataset

facultatif. Exemple de jeu de données d’entrée pour le modèle inscrit

valeur par défaut: None
sample_output_dataset

facultatif. Exemple de jeu de données de sortie pour le modèle inscrit

valeur par défaut: None
resource_configuration

facultatif. Configuration de ressource pour exécuter le modèle inscrit

valeur par défaut: None
kwargs
Obligatoire

Paramètres facultatifs.

Retours

Type Description

Modèle inscrit.

Remarques


   model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')

remove_tags

Supprimez la liste des balises mutables sur cette exécution.

remove_tags(tags)

Paramètres

Nom Description
tags
Obligatoire

Liste des balises à supprimer.

Retours

Type Description

Balises stockées sur l’objet d’exécution

restore_snapshot

Restaure un instantané sous la forme d’un fichier ZIP. Retourne le chemin d’accès au fichier ZIP.

restore_snapshot(snapshot_id=None, path=None)

Paramètres

Nom Description
snapshot_id
str

ID d’instantané à restaurer. Le plus récent est utilisé s’il n’est pas spécifié.

valeur par défaut: None
path
str

Chemin d’accès où se trouve le fichier ZIP téléchargé.

valeur par défaut: None

Retours

Type Description
str

Chemin d’accès.

set_tags

Ajoute ou modifie un ensemble de balises sur l’exécution. Les balises non transmises dans le dictionnaire restent inchangées.

Vous pouvez également ajouter des balises de chaîne simples. Quand ces balises apparaissent dans le dictionnaire des balises sous forme de clés, leur valeur est None. Pour plus d’informations, consultez Étiqueter et rechercher des exécutions.

set_tags(tags)

Paramètres

Nom Description
tags
Obligatoire
dict[str] ou str

Balises stockées dans l’objet d’exécution.

start

Marque l’exécution comme ayant démarré.

Cela est généralement utilisé dans les scénarios avancés quand l’exécution a été créée par un autre acteur.

start()

submit_child

Envoyez une expérience et retournez l’exécution enfant active.

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

Paramètres

Nom Description
config
Obligatoire

Configuration à envoyer.

tags

Balises à ajouter à la série envoyée, par exemple {"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

Objet d’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 enfant à partir de votre ordinateur local à l’aide de ScriptRunConfig :


   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 = parent_run.submit_child(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 submit.

tag

Étiquetez l’exécution 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
str

Valeur facultative pour la balise

valeur par défaut: None

Remarques

Les balises et les propriétés d’une série sont les deux dictionnaires de string-> string. La différence entre eux est la mutabilité : les balises peuvent être définies, mises à jour et supprimées lorsque les propriétés peuvent uniquement être ajoutées. Les propriétés sont ainsi plus appropriées pour les déclencheurs de comportement liés au système et aux flux de travail, tandis que les balises sont généralement orientées vers l’utilisateur et significatives pour les consommateurs de l’expérience.


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

   run.add_properties({'BuildId': os.environ.get('VSTS_BUILD_ID')}) # Properties are not

   tags = run.get_tags()
   # tags = { 'DeploymentCandidate': None, 'modifiedBy': 'release pipeline' }

take_snapshot

Enregistre un instantané du fichier ou du dossier d’entrée.

take_snapshot(file_or_folder_path)

Paramètres

Nom Description
file_or_folder_path
Obligatoire
str

Fichier ou dossier contenant le code source d’exécution.

Retours

Type Description
str

Retourne l’ID de l’instantané.

Remarques

Les instantanés sont destinés à être le code source utilisé pour exécuter l’expérience. Celles-ci sont stockées avec l’exécution afin que la version d’évaluation puisse être répliquée à l’avenir.

Notes

Les instantanés sont automatiquement pris lorsque submit est appelé. En général, cette méthode take_snapshot est nécessaire uniquement pour les exécutions interactives (notebook).

upload_file

Chargez un fichier sur l’enregistrement d’exécution.

upload_file(name, path_or_stream, datastore_name=None)

Paramètres

Nom Description
name
Obligatoire
str

Nom du fichier a chargé.

path_or_stream
Obligatoire
str

Chemin d’accès local ou flux relatif au fichier à charger.

datastore_name
Obligatoire
str

Nom de magasin de données facultatif

Retours

Type Description

Remarques


   run = experiment.start_logging()
   run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")

Notes

Les exécutions capturent automatiquement le fichier dans le répertoire de sortie spécifié, par défaut « ./outputs » pour la plupart des types d’exécutions. Utilisez upload_file uniquement quand des fichiers supplémentaires doivent être chargés ou qu’aucun répertoire de sortie n’est spécifié.

upload_files

Chargez les fichiers sur l’enregistrement d’exécution.

upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)

Paramètres

Nom Description
names
Obligatoire

Noms des fichiers à charger. Si cette valeur est définie, les chemins sont requis.

paths
Obligatoire

Chemins d’accès locaux aux fichiers à charger. Si cette valeur est définie, les noms sont requis.

return_artifacts
Obligatoire

Indique qu’un objet d’artefact doit être retourné pour chaque fichier chargé.

timeout_seconds
Obligatoire
int

Délai d’attente pour le chargement des fichiers.

datastore_name
Obligatoire
str

Nom de magasin de données facultatif

Remarques

upload_files a le même effet que upload_file sur des fichiers séparés. Toutefois, l’utilisation de upload_files présente des avantages en termes de performances et d’utilisation des ressources.


   import os

   run = experiment.start_logging()
   file_name_1 = 'important_file_1'
   file_name_2 = 'important_file_2'
   run.upload_files(names=[file_name_1, file_name_2],
                       paths=['path/on/disk/file_1.txt', 'other/path/on/disk/file_2.txt'])

   run.download_file(file_name_1, 'file_1.txt')

   os.mkdir("path")  # The path must exist
   run.download_file(file_name_2, 'path/file_2.txt')

Notes

Les exécutions capturent automatiquement les fichiers dans le répertoire de sortie spécifié. La valeur, par défaut est « ./outputs » pour la plupart des types d’exécutions. Utilisez upload_files uniquement quand des fichiers supplémentaires doivent être chargés ou qu’aucun répertoire de sortie n’est spécifié.

upload_folder

Chargez le dossier spécifié avec le nom de préfixe donné.

upload_folder(name, path, datastore_name=None)

Paramètres

Nom Description
name
Obligatoire
str

Nom du dossier de fichiers à charger.

folder
Obligatoire
str

Chemin d’accès local relatif au dossier à charger.

datastore_name
Obligatoire
str

Nom de magasin de données facultatif

Remarques


   run = experiment.start_logging()
   run.upload_folder(name='important_files', path='path/on/disk')

   run.download_file('important_files/existing_file.txt', 'local_file.txt')

Notes

Les exécutions capturent automatiquement les fichiers dans le répertoire de sortie spécifié. La valeur, par défaut est « ./outputs » pour la plupart des types d’exécutions. Utilisez upload_folder uniquement quand des fichiers supplémentaires doivent être chargés ou qu’aucun répertoire de sortie n’est spécifié.

wait_for_completion

Attendez la fin de l’exécution de cette exécution. Retourne l’objet d’état à l’issue de l’attente.

wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)

Paramètres

Nom Description
show_output

Indique s’il est nécessaire d’afficher la sortie d’exécution sur sys.stdout.

valeur par défaut: False
wait_post_processing

Indique s’il est nécessaire d’attendre la fin du traitement de la validation une fois l’exécution terminée.

valeur par défaut: False
raise_on_error

Indique si une erreur est générée quand l’exécution est à l’état d’échec.

valeur par défaut: True

Retours

Type Description

Objet d’état.

Attributs

description

Retourne la description de l’exécution.

La description facultative de l’exécution est une chaîne spécifiée par l’utilisateur qui permet de décrire une exécution.

Retours

Type Description
str

Description de l’exécution.

display_name

Retourne le nom d’affichage de l’exécution.

Le nom d’affichage facultatif de l’exécution est une chaîne spécifiée par l’utilisateur, utile pour l’identification ultérieure de l’exécution.

Retours

Type Description
str

Nom d’affichage de l’exécution.

experiment

Obtient l’expérience contenant l’exécution.

Retours

Type Description

Récupère l’expérience correspondant à l’exécution.

id

Obtient l’ID d’exécution.

L’ID de l’exécution est un identificateur unique dans l’expérience contenante.

Retours

Type Description
str

ID d’exécution.

name

DÉPRÉCIÉ. Utilisez display_name.

Le nom facultatif de l’exécution est une chaîne spécifiée par l’utilisateur, utile pour l’identification ultérieure de l’exécution.

Retours

Type Description
str

ID d’exécution.

number

Obtient le numéro de l’exécution.

Nombre à croissance monotone représentant l’ordre des exécutions au sein d’une expérience.

Retours

Type Description
int

Numéro de l’exécution.

parent

Récupère (fetch) l’exécution parent de l’exécution à partir du service.

Les exécutions peuvent avoir un parent facultatif, ce qui entraîne une hiérarchie d’arborescence potentielle des exécutions. Pour enregistrer les métriques dans une exécution parent, utilisez la méthode log de l’objet parent, par exemple run.parent.log().

Retours

Type Description
Run

Exécution parent, ou None s’il n’est pas défini.

properties

Retourne les propriétés immuables de cette exécution.

Retours

Type Description
dict[str],
str

Propriétés mises en cache localement de l’exécution.

Remarques

Les propriétés incluent des informations immuables générées par le système, comme la durée, la date d’exécution, l’utilisateur, etc.

status

Retourne l’état de l’objet d’exécution.

tags

Retourne l’ensemble de balises mutables sur cette exécution.

Retours

Type Description

Balises stockées sur l’objet d’exécution.

type

Obtient le type d’exécution.

Indique la façon dont l’exécution a été créée ou configurée.

Retours

Type Description
str

Type d’exécution.