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

experiment
Experiment
Obligatoire

Expérience contenante.

run_id
str
Obligatoire

ID de l’exécution.

outputs
str
valeur par défaut: None

Sorties à suivre.

_run_dto
<xref:azureml._restclient.models.run_dto.RunDto>
Obligatoire

À usage interne uniquement

kwargs
dict
Obligatoire

Dictionnaire des paramètres de configuration supplémentaires.

experiment
Experiment
Obligatoire

Expérience contenante.

run_id
str
Obligatoire

ID de l’exécution.

outputs
str
Obligatoire

Sorties à suivre.

kwargs
dict
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

properties
dict
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

runtype
str
Obligatoire

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
<xref:function>
Obligatoire

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

name
str
valeur par défaut: None

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

run_id
str
valeur par défaut: None

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.

outputs
str
valeur par défaut: None

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

Retours

Exécution enfant.

Type de retour

Run

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

Liste des fichiers supprimés.

Type de retour

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

_set_status
bool
valeur par défaut: True

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

create_children

Crée une ou plusieurs exécutions enfants.

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

Paramètres

count
int
valeur par défaut: None

Nombre facultatif d’enfants à créer.

tag_key
str
valeur par défaut: None

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

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

Liste des exécutions enfants.

Type de retour

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

name
str
Obligatoire

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

output_file_path
str
Obligatoire

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

prefix
str
Obligatoire

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

output_directory
str
Obligatoire

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

output_paths
[str]
Obligatoire

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
int
Obligatoire

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

append_prefix
bool
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
int
Obligatoire

Délai d’attente pour le 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

error_details
str ou BaseException
valeur par défaut: None

Détails facultatifs de l’erreur.

error_code
str
valeur par défaut: None

Code d’erreur facultatif pour la classification des erreurs.

_set_status
bool
valeur par défaut: True

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

flush

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

flush(timeout_seconds=300)

Paramètres

timeout_seconds
int
valeur par défaut: 300

Délai d’attente (en secondes) pour le 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.

static get(workspace, run_id)

Paramètres

workspace
Workspace
Obligatoire

Espace de travail contenant.

run_id
string
Obligatoire

ID d’exécution.

Retours

Exécution soumise.

Type de retour

Run

get_all_logs

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

get_all_logs(destination=None)

Paramètres

destination
str
valeur par défaut: None

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.

Retours

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

Type de retour

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

recursive
bool
valeur par défaut: False

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

tags
str ou dict
valeur par défaut: None

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

properties
str ou dict
valeur par défaut: None

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

type
str
valeur par défaut: None

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

status
str
valeur par défaut: None

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

_rehydrate_runs
bool
valeur par défaut: True

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

Retours

Liste des objets Run.

Type de retour

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

cls
Obligatoire

Indique la méthode de classe.

allow_offline
bool
valeur par défaut: True

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.

kwargs
dict
Obligatoire

Dictionnaire des paramètres supplémentaires.

used_for_context_manager
valeur par défaut: False

Retours

Exécution soumise.

Type de retour

Run

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

État et détails les plus récents

Type de retour

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

Retourne les détails de l’exécution

Type de retour

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

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

Type de retour

get_environment

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

get_environment()

Retours

Retourne l’objet d’environnement.

Type de retour

get_file_names

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

get_file_names()

Retours

Liste des chemins pour les artefacts existants

Type de retour

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

name
str
valeur par défaut: None

Nom de la mesure.

recursive
bool
valeur par défaut: False

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

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

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

Retours

Dictionnaire contenant les métriques des utilisateurs.

Type de retour

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

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

Type de retour

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

name
str
Obligatoire

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

Retours

Valeur du secret.

Type de retour

str

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

secrets
list[str]
Obligatoire

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

Retours

Retourne un dictionnaire des secrets trouvés et introuvables.

Type de retour

dict[<xref:str: str>]

get_snapshot_id

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

get_snapshot_id()

Retours

ID d’instantané le plus récent.

Type de retour

str

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

État le plus récent.

Type de retour

str

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

Exécution soumise.

Type de retour

Run

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

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

Type de retour

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

experiment
Experiment
Obligatoire

Expérience contenante.

type
str
valeur par défaut: None

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

tags
str ou dict
valeur par défaut: None

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

properties
str ou dict
valeur par défaut: None

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

status
str
valeur par défaut: None

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

include_children
bool
valeur par défaut: False

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

_rehydrate_runs
bool
valeur par défaut: True

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.

Retours

Liste des exécutions.

Type de retour

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

compute
ComputeTarget
Obligatoire

Calcul contenant.

type
str
valeur par défaut: None

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

tags
str ou dict
valeur par défaut: None

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

properties
str ou dict
valeur par défaut: None

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

status
str
valeur par défaut: None

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) ».

Retours

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

Type de retour

<xref:builtin.generator>

log

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

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

Paramètres

name
str
Obligatoire

Nom de la métrique.

value
Obligatoire

Valeur à publier dans le service.

description
str
Obligatoire

Description facultative de la métrique.

step
int
valeur par défaut: None

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

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

name
str
Obligatoire

Nom de la table de précision.

value
str ou dict
Obligatoire

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

description
str
Obligatoire

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

name
str
Obligatoire

Nom de la matrice de confusion.

value
str ou dict
Obligatoire

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

description
str
Obligatoire

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

name
str
Obligatoire

Nom de la mesure.

path
str
Obligatoire

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

plot
<xref:matplotlib.pyplot>
Obligatoire

Tracé à journaliser en tant qu’image.

description
str
Obligatoire

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

name
str
Obligatoire

Nom de la métrique.

value
list
Obligatoire

Valeurs de la métrique.

description
str
Obligatoire

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

name
str
Obligatoire

Nom des prédictions.

value
str ou dict
Obligatoire

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

description
str
Obligatoire

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

name
str
Obligatoire

Nom des résidus.

value
str ou dict
Obligatoire

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

description
str
Obligatoire

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

name
str
Obligatoire

Nom de la métrique.

description
str
valeur par défaut: None

Description facultative de la métrique.

kwargs
dict
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

name
str
Obligatoire

Nom de la métrique.

value
dict
Obligatoire

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

description
str
Obligatoire

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

model_name
str
Obligatoire

Nom du modèle.

model_path
str
valeur par défaut: None

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.

tags
dict[str, str]
valeur par défaut: None

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

properties
dict[str, str]
valeur par défaut: None

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.

model_framework
str
valeur par défaut: None

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

model_framework_version
str
valeur par défaut: None

Version d’infrastructure du modèle inscrit.

description
str
valeur par défaut: None

Description facultative du modèle.

datasets
list[(str, AbstractDataset)]
valeur par défaut: None

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.

sample_input_dataset
AbstractDataset
valeur par défaut: None

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

sample_output_dataset
AbstractDataset
valeur par défaut: None

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

resource_configuration
ResourceConfiguration
valeur par défaut: None

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

kwargs
dict
Obligatoire

Paramètres facultatifs.

Retours

Modèle inscrit.

Type de retour

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

tags
list
Obligatoire

Liste des balises à supprimer.

Retours

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

snapshot_id
str
valeur par défaut: None

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

path
str
valeur par défaut: None

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

Retours

Chemin d’accès.

Type de retour

str

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

tags
dict[str] ou str
Obligatoire

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

config
object
Obligatoire

Configuration à envoyer.

tags
dict
valeur par défaut: None

Balises à ajouter à la série envoyée, par exemple {"tag" : "value"}.

kwargs
dict
Obligatoire

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

Retours

Objet d’exécution.

Type de retour

Run

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

key
str
Obligatoire

Clé de la balise

value
str
valeur par défaut: None

Valeur facultative pour la balise

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

file_or_folder_path
str
Obligatoire

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

Retours

Retourne l’ID de l’instantané.

Type de retour

str

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

name
str
Obligatoire

Nom du fichier a chargé.

path_or_stream
str
Obligatoire

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

datastore_name
str
Obligatoire

Nom de magasin de données facultatif

Type de retour

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

names
list
Obligatoire

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

paths
list
Obligatoire

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

return_artifacts
bool
Obligatoire

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

timeout_seconds
int
Obligatoire

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

datastore_name
str
Obligatoire

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

name
str
Obligatoire

Nom du dossier de fichiers à charger.

folder
str
Obligatoire

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

datastore_name
str
Obligatoire

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

show_output
bool
valeur par défaut: False

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

wait_post_processing
bool
valeur par défaut: False

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

raise_on_error
bool
valeur par défaut: True

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

Retours

Objet d’état.

Type de retour

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

Description de l’exécution.

Type de retour

str

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

Nom d’affichage de l’exécution.

Type de retour

str

experiment

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

Retours

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

Type de retour

id

Obtient l’ID d’exécution.

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

Retours

ID d’exécution.

Type de retour

str

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

ID d’exécution.

Type de retour

str

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

Numéro de l’exécution.

Type de retour

int

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

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

Type de retour

Run

properties

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

Retours

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

Type de retour

dict[str],
str

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

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

Type de retour

type

Obtient le type d’exécution.

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

Retours

Type d’exécution.

Type de retour

str