Partager via


Run Classe

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

Une exécution représente une seule version d’évaluation d’une expérience. Les exécutions sont utilisées pour surveiller l’exécution asynchrone d’une version d’évaluation, des métriques de journal et stocker la sortie de la version d’évaluation, et pour analyser les résultats et accéder aux artefacts générés par la version d’évaluation.

Les objets d’exécution sont créés lorsque vous envoyez un script pour entraîner un modèle dans de nombreux scénarios différents dans Azure Machine Learning, notamment les exécutions HyperDrive, les exécutions de pipeline et les exécutions AutoML. Un objet Run est également créé lorsque vous submit ou start_logging avec la Experiment classe.

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

Initialisez l’objet 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>

Utilisation interne uniquement.

kwargs
Obligatoire

Dictionnaire de 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 de paramètres de configuration supplémentaires.

Remarques

Une exécution représente une seule version d’évaluation d’une expérience. Un objet Run est utilisé pour surveiller l’exécution asynchrone d’une version d’évaluation, des métriques de journal et stocker la sortie de la version d’évaluation, et pour analyser les résultats et accéder aux artefacts 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 consigner 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 et interroger et analyser les métriques et les résultats générés.

La fonctionnalité d’exécution inclut :

  • Stockage et récupération des métriques et des données

  • Chargement et téléchargement de fichiers

  • Utilisation de balises ainsi que de la hiérarchie enfant pour faciliter la recherche des exécutions passées

  • Inscription de fichiers de modèle stockés en tant que modèle pouvant être opérationnel

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

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

  • Capture instantanée efficace d’un fichier ou d’un répertoire pour la reproductibilité

Cette classe fonctionne avec les Experiment scénarios suivants :

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

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

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

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

Pour soumettre une exécution, créez un objet de configuration qui décrit la façon dont l’expérience est exécutée. Voici des exemples des différents objets de configuration 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 lors de l’entraînement d’une expérience.

  • Scalaire

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

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

  • Liste

    • Journaliser une liste de valeurs à exécuter avec le nom donné à l’aide log_listde .

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

  • Ligne

    • L’utilisation 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. log_row peut être appelé une seule fois pour journaliser 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)

  • Tableau

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

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

  • Image

    • Journaliser une image dans l’enregistrement d’exécution. Permet log_image de consigner un fichier image ou un tracé matplotlib à 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 (dict[str, str]) diffèrent dans 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 Balises et exécutions de recherche.

add_type_provider

Hook 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.

S’il existe un travail associé à un champ cancel_uri défini, arrêtez également ce travail.

child_run

Créez une exécution enfant.

clean

Supprimez les fichiers correspondant à l’exécution actuelle sur la cible spécifiée dans la configuration d’exécution.

complete

Attendez que la file d’attente des tâches soit traitée.

Ensuite, l’exécution est marquée comme terminée. Cela est généralement utilisé dans les scénarios de notebook interactifs.

create_children

Créez une ou plusieurs exécutions enfants.

download_file

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

download_files

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

fail

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

Définissez éventuellement la propriété Error de l’exécution avec un message ou une exception passé à error_details.

flush

Attendez que la file d’attente des tâches soit traitée.

get

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

get_all_logs

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

get_children

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

get_context

Retournez 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 de fichiers. Si allow_offline la valeur est True (valeur par défaut), les actions sur l’objet Run sont imprimées de sorte qu’elles soient standard.

get_detailed_status

Récupérez l’état le plus récent de l’exécution. Si l’état de l’exécution est « Mis en file d’attente », il affiche les détails.

get_details

Obtenez 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, y compris le contenu du fichier journal.

get_environment

Obtenez la définition d’environnement utilisée par cette exécution.

get_file_names

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

get_metrics

Récupérez les métriques journalisées à l’exécution.

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

get_properties

Récupérez les dernières propriétés de l’exécution à partir du service.

get_secret

Obtenez la valeur secrète à partir du contexte d’une exécution.

Obtenez la valeur secrète du nom fourni. Le nom du secret fait référence à une valeur stockée dans Azure Key Vault associée à votre espace de travail. Pour obtenir un exemple d’utilisation des secrets, consultez Utiliser des secrets dans les exécutions d’entraînement.

get_secrets

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

Obtenez un dictionnaire de secrets trouvés et introuvables pour la liste des noms fournis. Chaque nom de secret fait référence à une valeur stockée dans Azure Key Vault associée à votre espace de travail. Pour obtenir un exemple d’utilisation des secrets, consultez Utiliser des secrets dans les exécutions d’entraînement.

get_snapshot_id

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

get_status

Récupérez l’état le plus récent de l’exécution.

Les valeurs courantes retournées incluent « Running », « Completed » et « Failed ».

get_submitted_run

OBSOLESCENT. Utilisez get_context.

Obtenez l’exécution envoyée pour cette expérience.

get_tags

Récupérez le dernier ensemble de balises mutables sur l’exécution à partir du service.

list

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

list_by_compute

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

log

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

log_accuracy_table

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

La métrique de table de précision est une métrique multi-utilisation non scalaire qui peut être utilisée pour produire plusieurs types de graphiques en courbes qui varient en continu sur l’espace des probabilités prédites. Par exemple, ces graphiques sont roc, rappel de précision et courbes d’élévation.

Le calcul de la table de précision est similaire au calcul d’une courbe ROC. Une courbe ROC stocke des taux positifs vrais 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é.

Il existe deux méthodes utilisées pour sélectionner des seuils : « probabilité » et « centile ». Ils diffèrent de la façon dont ils échantillonner à partir de l’espace des probabilités prédites.

Les seuils de probabilité sont uniformément espadés entre 0 et 1. Si NUM_POINTS est de 5, les seuils de probabilité sont [0,0, 0,25, 0,5, 0,75, 1,0].

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

Les tables de probabilité et les tables de centile sont des listes 3D où la première dimension représente l’étiquette de classe, la deuxième dimension représente l’échantillon à un seuil (mise à l’échelle 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 avec la stratégie de repos par rapport à la stratégie de repos. Pour plus d’informations, consultez le lien suivant : https://en.wikipedia.org/wiki/Multiclass_classification

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

Quelques invariants de la table de précision :

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

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

Les étiquettes de classe doivent être des chaînes, les valeurs de confusion doivent être des entiers et les seuils doivent être flottants.

log_confusion_matrix

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

Cela consigne un wrapper autour de la matrice de confusion deklearn. Les données de métrique contiennent les étiquettes de classe et une liste 2D pour la matrice elle-même. Pour plus d’informations sur la façon dont la métrique 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

Consignez la liste des valeurs de métriques à exécuter avec le nom donné.

log_predictions

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

Cela journalise 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 binaires et les écarts types sont calculés pour les barres d’erreur sur un graphique en courbes.

log_residuals

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

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

Il doit y avoir un bord supérieur au nombre de comptages. Consultez la documentation de l’histogramme numpy pour obtenir des exemples d’utilisation des nombres et des arêtes pour représenter un histogramme. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

log_row

Journaliser une métrique de ligne à l’exécution avec le nom donné.

log_table

Journaliser une métrique de table à l’exécution avec le nom donné.

register_model

Inscrivez un modèle pour l’opérationnalisation.

remove_tags

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

restore_snapshot

Restaurez un instantané en tant que fichier ZIP. Retourne le chemin d’accès au fichier ZIP.

set_tags

Ajoutez ou modifiez un ensemble de balises lors de l’exécution. Les balises non transmises dans le dictionnaire ne sont pas modifiées.

Vous pouvez également ajouter des balises de chaîne simples. Lorsque ces balises apparaissent dans le dictionnaire d’étiquettes en tant que clés, elles ont la valeur None. Pour plus d’informations, consultez Baliser et rechercher des exécutions.

start

Marquez l’exécution comme démarré.

Cela est généralement utilisé dans les scénarios avancés lorsque 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

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

upload_file

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

upload_files

Chargez des fichiers dans l’enregistrement d’exécution.

upload_folder

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

wait_for_completion

Attendez la fin de cette exécution. Retourne l’objet d’état après l’attente.

add_properties

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

Les balises et les propriétés (dict[str, str]) diffèrent dans 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 Balises et exécutions de recherche.

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

Hook 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. Les exemples incluent « hyperdrive » ou « azureml.scriptrun », mais peuvent être étendus avec des types personnalisés.

run_factory
Obligatoire
<xref:function>

Fonction avec signature (Expérience, RunDto) -> Exécuter à appeler lors de la liste des exécutions.

cancel

Marquez l’exécution comme annulée.

S’il existe un travail associé à un champ cancel_uri défini, arrêtez également ce travail.

cancel()

child_run

Créez une exécution enfant.

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

Paramètres

Nom Description
name
str

Nom facultatif de l’exécution enfant, généralement spécifié pour un « composant ».

Valeur par défaut: None
run_id
str

ID d’exécution facultatif pour l’enfant, sinon il est généré automatiquement. En règle générale, 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

Il est 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 qui sont intéressantes à séparer, ou pour capturer des métriques indépendantes sur une interation 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 lorsque l’enfant est terminé.

clean

Supprimez les fichiers correspondant à l’exécution actuelle sur la cible spécifiée dans la configuration d’exécution.

clean()

Retours

Type Description

Liste des fichiers supprimés.

complete

Attendez que la file d’attente des tâches soit traitée.

Ensuite, l’exécution est marquée comme terminée. Cela est généralement utilisé dans les scénarios de notebook interactifs.

complete(_set_status=True)

Paramètres

Nom Description
_set_status

Indique s’il faut envoyer l’événement d’état pour le suivi.

Valeur par défaut: True

create_children

Créez 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 Balises dans tous les enfants créés.

Valeur par défaut: None
tag_Values
Obligatoire

Liste facultative de valeurs qui sont mappées aux balises[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

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

download_file

Téléchargez 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échargez des fichiers à partir d’un préfixe de stockage donné (nom du dossier) ou de l’intégralité du conteneur 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 filepath dans le conteneur à partir duquel télécharger tous les artefacts.

output_directory
Obligatoire
str

Répertoire facultatif que tous les chemins d’accès d’artefact utilisent comme préfixe.

output_paths
Obligatoire
[str]

Chemins de 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 indiquant s’il faut ajouter le préfixe spécifié à partir du chemin d’accès final du fichier de sortie. Si la valeur est False, le préfixe est supprimé du chemin du fichier de sortie.

timeout_seconds
Obligatoire
int

Délai d’expiration du téléchargement des fichiers.

fail

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

Définissez éventuellement la propriété Error de l’exécution avec un message ou une exception passé à 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 de l’erreur pour la classification des erreurs.

Valeur par défaut: None
_set_status

Indique s’il faut envoyer l’événement d’état pour le suivi.

Valeur par défaut: True

flush

Attendez que la file d’attente des tâches soit traitée.

flush(timeout_seconds=300)

Paramètres

Nom Description
timeout_seconds
int

Durée d’attente (en secondes) pendant laquelle la file d’attente des tâches doit être traitée.

Valeur par défaut: 300

get

Obtenez l’exécution de 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 envoyée.

get_all_logs

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

get_all_logs(destination=None)

Paramètres

Nom Description
destination
str

Chemin d’accès de destination pour stocker les journaux. S’il n’est pas spécifié, un répertoire nommé en tant qu’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

Obtenez 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 s’il faut récurser tous les descendants.

Valeur par défaut: False
tags
str ou dict

Si elle est spécifiée, retourne des exécutions correspondantes spécifiées « tag » ou {« tag » : « value »}.

Valeur par défaut: None
properties
str ou dict

Si elle est spécifiée, retourne des exécutions correspondant à la « propriété » ou {"property » : « value"}.

Valeur par défaut: None
type
str

Si elle est spécifiée, retourne des exécutions correspondant à ce type.

Valeur par défaut: None
status
str

Si elle est spécifiée, retourne des exécutions avec 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 la base Run.

Valeur par défaut: True

Retours

Type Description

Liste d’objets Run .

get_context

Retournez 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 de fichiers. Si allow_offline la valeur est True (valeur par défaut), les actions sur l’objet Run sont imprimées de sorte qu’elles soient 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

Autorisez le contexte de service à revenir en mode hors connexion afin que le script d’entraînement puisse être testé localement sans soumettre de travail avec le Kit de développement logiciel (SDK). True par défaut.

Valeur par défaut: True
kwargs
Obligatoire

Dictionnaire de paramètres supplémentaires.

used_for_context_manager
Valeur par défaut: False

Retours

Type Description
Run

Exécution envoyée.

Remarques

Cette fonction est couramment utilisée pour récupérer l’objet Run authentifié à l’intérieur d’un script à soumettre pour l’exécution 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 dans lequel les métriques, les fichiers (artefacts) et les modèles sont contenus.


   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érez l’état le plus récent de l’exécution. Si l’état de l’exécution est « Mis en file d’attente », il affiche les détails.

get_detailed_status()

Retours

Type Description

État et détails les plus récents

Remarques

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

  • détails : 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

Obtenez 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

Retourner les détails de l’exécution

Remarques

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

  • runId : ID de cette exécution.

  • cible

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

  • startTimeUtc : heure UTC du démarrage de cette exécution, dans ISO8601.

  • endTimeUtc : heure UTC de la fin de cette exécution (terminée ou ayant échoué), dans ISO8601.

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

  • propriétés : 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 les 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 add_propertiesde .

  • 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, y compris 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

Obtenez la définition d’environnement utilisée par cette exécution.

get_environment()

Retours

Type Description

Retourne l’objet d’environnement.

get_file_names

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

get_file_names()

Retours

Type Description

Liste des chemins d’accès pour les artefacts existants

get_metrics

Récupérez les métriques journalisées à l’exécution.

Si recursive la valeur est True (False par défaut), récupérez 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 métrique.

Valeur par défaut: None
recursive

Indique s’il faut récurser tous les descendants.

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

Indique s’il faut extraire le contenu des données externes liées à la métrique.

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érez les dernières propriétés 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 générées par le système immuables, telles que la durée, la date d’exécution, l’utilisateur et les propriétés personnalisées ajoutées avec la add_properties méthode. Pour plus d’informations, consultez Baliser et rechercher des exécutions.

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

get_secret

Obtenez la valeur secrète à partir du contexte d’une exécution.

Obtenez la valeur secrète du nom fourni. Le nom du secret fait référence à une valeur stockée dans Azure Key Vault associée à votre espace de travail. Pour obtenir un exemple d’utilisation des secrets, consultez Utiliser des secrets dans les exécutions d’entraînement.

get_secret(name)

Paramètres

Nom Description
name
Obligatoire
str

Nom du secret pour lequel retourner un secret.

Retours

Type Description
str

Valeur secrète.

get_secrets

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

Obtenez un dictionnaire de secrets trouvés et introuvables pour la liste des noms fournis. Chaque nom de secret fait référence à une valeur stockée dans Azure Key Vault associée à votre espace de travail. Pour obtenir un exemple d’utilisation des secrets, consultez Utiliser des secrets dans les exécutions d’entraînement.

get_secrets(secrets)

Paramètres

Nom Description
secrets
Obligatoire

Liste des noms de secrets pour lesquels retourner des valeurs secrètes.

Retours

Type Description

Retourne un dictionnaire de secrets trouvés et introuvables.

get_snapshot_id

Obtenez 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érez l’état le plus récent de l’exécution.

Les valeurs courantes retournées incluent « Running », « Completed » et « Failed ».

get_status()

Retours

Type Description
str

État le plus récent.

Remarques

  • NotStarted : il s’agit d’un objet d’exécution côté client temporaire avant l’envoi du cloud.

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

  • Approvisionnement : retourné lorsque le calcul à la demande est créé pour une soumission de travail donnée.

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

    • build d’image docker

    • Configuration de l’environnement conda

  • Mis en file d’attente : le travail est mis en file d’attente dans la cible de calcul. Par exemple, dans BatchAI, le travail est dans l’état mis en file d’attente

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

  • Exécution : le travail a commencé à s’exécuter dans la cible de calcul.

  • Finalisation : le code utilisateur est terminé et l’exécution est en phase 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 inclut à la fois le code utilisateur et l’exécution

    phases de post-traitement.

  • Échec : échec de l’exécution. Généralement, la propriété Error sur une exécution fournit des détails sur la raison pour laquelle.

  • Annulé : suit une demande d’annulation et indique que l’exécution est désormais annulée avec succès.

  • NotResponding - Pour les exécutions avec pulsations 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

OBSOLESCENT. Utilisez get_context.

Obtenez l’exécution envoyée pour cette expérience.

get_submitted_run(**kwargs)

Retours

Type Description
Run

Exécution envoyée.

get_tags

Récupérez le dernier ensemble de balises mutables sur l’exécution à partir du service.

get_tags()

Retours

Type Description

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

list

Obtenez 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 elle est spécifiée, retourne des exécutions correspondant au type spécifié.

Valeur par défaut: None
tags
str ou dict

Si elle est spécifiée, retourne des exécutions correspondantes spécifiées « tag » ou {« tag » : « value »}.

Valeur par défaut: None
properties
str ou dict

Si elle est spécifiée, retourne des exécutions correspondant à la « propriété » ou {"property » : « value"}.

Valeur par défaut: None
status
str

Si elle est spécifiée, retourne des exécutions avec l’état spécifié « status ».

Valeur par défaut: None
include_children

Si la valeur est true, récupérez toutes les exécutions, et non seulement les exécutions de niveau supérieur.

Valeur par défaut: False
_rehydrate_runs

Si la valeur est True (par défaut), utilisez le fournisseur inscrit pour réinstancier 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 montre certaines utilisations de la list méthode.


   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

Obtenez 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 conteneur.

type
str

Si elle est spécifiée, retourne des exécutions correspondant au type spécifié.

Valeur par défaut: None
tags
str ou dict

Si elle est spécifiée, retourne des exécutions correspondantes spécifiées « tag » ou {« tag » : « value »}.

Valeur par défaut: None
properties
str ou dict

Si elle est spécifiée, retourne des exécutions correspondant à la « propriété » ou {"property » : « value"}.

Valeur par défaut: None
status
str

Si elle est spécifiée, retourne des exécutions avec l’état spécifié « status ». Seules les valeurs autorisées sont « En cours d’exécution » et « En file d’attente ».

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 à 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 sur le service.

description
Obligatoire
str

Description facultative de la métrique.

step
int

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

Valeur par défaut: None

Remarques

La journalisation d’une métrique à une exécution entraîne le stockage de cette métrique dans l’enregistrement d’exécution de l’expérience. Vous pouvez enregistrer la même métrique plusieurs fois au sein d’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

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

La métrique de table de précision est une métrique multi-utilisation non scalaire qui peut être utilisée pour produire plusieurs types de graphiques en courbes qui varient en continu sur l’espace des probabilités prédites. Par exemple, ces graphiques sont roc, rappel de précision et courbes d’élévation.

Le calcul de la table de précision est similaire au calcul d’une courbe ROC. Une courbe ROC stocke des taux positifs vrais 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é.

Il existe deux méthodes utilisées pour sélectionner des seuils : « probabilité » et « centile ». Ils diffèrent de la façon dont ils échantillonner à partir de l’espace des probabilités prédites.

Les seuils de probabilité sont uniformément espadés entre 0 et 1. Si NUM_POINTS est de 5, les seuils de probabilité sont [0,0, 0,25, 0,5, 0,75, 1,0].

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

Les tables de probabilité et les tables de centile sont des listes 3D où la première dimension représente l’étiquette de classe, la deuxième dimension représente l’échantillon à un seuil (mise à l’échelle 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 avec la stratégie de repos par rapport à la stratégie de repos. Pour plus d’informations, consultez le lien suivant : https://en.wikipedia.org/wiki/Multiclass_classification

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

Quelques invariants de la table de précision :

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

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

Les étiquettes de classe doivent être des chaînes, les valeurs de confusion doivent être des entiers et les seuils doivent être flottants.

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 des propriétés de nom, de version et de 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

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

Cela consigne un wrapper autour de la matrice de confusion deklearn. Les données de métrique contiennent les étiquettes de classe et une liste 2D pour la matrice elle-même. Pour plus d’informations sur la façon dont la métrique 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 des propriétés de nom, de version et de 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 métrique.

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 à l’exécution. Ces images seront visibles et comparables dans l’enregistrement d’exécution.

log_list

Consignez la liste des valeurs de métriques à exécuter 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

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

Cela journalise 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 binaires 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 des propriétés de nom, de version et de 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

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

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

Il doit y avoir un bord supérieur au nombre de comptages. Consultez la documentation de l’histogramme numpy pour obtenir des exemples d’utilisation des nombres et des arêtes pour représenter un 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 des propriétés de nom, de version et de 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

Journaliser une métrique de ligne à 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 de paramètres supplémentaires. Dans ce cas, les colonnes de la métrique.

Remarques

L’utilisation 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. log_row peut être appelé 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

Journaliser une métrique de table à 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, dictionnaire dans lequel les clés sont des colonnes à publier dans le service.

description
Obligatoire
str

Description facultative de la métrique.

register_model

Inscrivez un modèle pour l’opérationnalisation.

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 du cloud relatif au modèle, par exemple « outputs/modelname ». Lorsqu’il n’est pas spécifié (Aucun), model_name est utilisé comme chemin d’accès.

Valeur par défaut: None
tags

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

Valeur par défaut: None
properties

Dictionnaire des propriétés de valeur de clé à affecter au modèle. Ces propriétés ne peuvent pas être modifiées après la création du modèle, mais de nouvelles paires clé-valeur peuvent ê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 de tuples où le premier élément décrit la relation dataset-model et le deuxième élément est le jeu de données.

Valeur par défaut: None
sample_input_dataset

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

Valeur par défaut: None
sample_output_dataset

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

Valeur par défaut: None
resource_configuration

Optionnel. Configuration des ressources 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

Restaurez un instantané en tant que 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. La dernière est utilisée si elle n’est pas spécifiée.

Valeur par défaut: None
path
str

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

Valeur par défaut: None

Retours

Type Description
str

Chemin d’accès.

set_tags

Ajoutez ou modifiez un ensemble de balises lors de l’exécution. Les balises non transmises dans le dictionnaire ne sont pas modifiées.

Vous pouvez également ajouter des balises de chaîne simples. Lorsque ces balises apparaissent dans le dictionnaire d’étiquettes en tant que clés, elles ont la valeur None. Pour plus d’informations, consultez Baliser 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

Marquez l’exécution comme démarré.

Cela est généralement utilisé dans les scénarios avancés lorsque 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 à l’exécution envoyée, par exemple {"tag » : « value"}.

Valeur par défaut: None
kwargs
Obligatoire

Paramètres supplémentaires utilisés dans la fonction d’envoi pour les configurations.

Retours

Type Description
Run

Objet d’exécution.

Remarques

L’envoi est un appel asynchrone à la plateforme Azure Machine Learning pour exécuter une version d’évaluation sur du matériel local ou distant. Selon la configuration, l’envoi prépare automatiquement vos environnements d’exécution, exécute votre code et capture votre code source et les résultats dans l’historique des exécutions de l’expérience.

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

Voici un exemple d’envoi d’une expérience enfant à partir de votre ordinateur ScriptRunConfig local :


   from azureml.core import ScriptRunConfig

   # run a trial from the train.py code in your current directory
   config = ScriptRunConfig(source_directory='.', script='train.py',
       run_config=RunConfiguration())
   run = 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é d’étiquette

value
str

Valeur facultative de la balise

Valeur par défaut: None

Remarques

Les balises et les propriétés d’une exécution sont les deux dictionnaires de chaîne -> chaîne. La différence entre elles est la mutabilité : les balises peuvent être définies, mises à jour et supprimées, tandis que les propriétés peuvent uniquement être ajoutées. Cela rend les propriétés plus appropriées pour les déclencheurs de comportement liés au système/flux de travail, tandis que les balises sont généralement accessibles à 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

Enregistrez 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 d’instantané.

Remarques

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

Remarque

Les captures instantanées sont automatiquement prises lorsqu’elles submit sont appelées. En règle générale, cette méthode take_snapshot est requise uniquement pour les exécutions interactives (notebook).

upload_file

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

upload_file(name, path_or_stream, datastore_name=None)

Paramètres

Nom Description
name
Obligatoire
str

Nom du fichier à charger.

path_or_stream
Obligatoire
str

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

datastore_name
Obligatoire
str

Nom facultatif du magasin de données

Retours

Type Description

Remarques


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

Remarque

Exécute automatiquement le fichier de capture dans le répertoire de sortie spécifié, qui est défini par défaut sur « ./outputs » pour la plupart des types d’exécution. Utilisez upload_file uniquement lorsque des fichiers supplémentaires doivent être chargés ou qu’un répertoire de sortie n’est pas spécifié.

upload_files

Chargez des fichiers dans 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 la valeur est définie, les chemins d’accès doivent également être définis.

paths
Obligatoire

Chemins d’accès locaux relatifs aux fichiers à charger. S’il est défini, 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’expiration pour le chargement de fichiers.

datastore_name
Obligatoire
str

Nom facultatif du magasin de données

Remarques

upload_files a le même effet que upload_file sur les fichiers distincts, mais il existe des avantages en matière de performances et d’utilisation des ressources lors de l’utilisation upload_files.


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

Remarque

Exécute automatiquement les fichiers de capture dans le répertoire de sortie spécifié, qui est défini par défaut sur « ./outputs » pour la plupart des types d’exécution. Utilisez upload_files uniquement lorsque des fichiers supplémentaires doivent être chargés ou qu’un répertoire de sortie n’est pas spécifié.

upload_folder

Chargez le dossier spécifié dans 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 local relatif du dossier à charger.

datastore_name
Obligatoire
str

Nom facultatif du magasin de données

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

Remarque

Exécute automatiquement les fichiers de capture dans le répertoire de sortie spécifié, qui est défini par défaut sur « ./outputs » pour la plupart des types d’exécution. Utilisez upload_folder uniquement lorsque des fichiers supplémentaires doivent être chargés ou qu’un répertoire de sortie n’est pas spécifié.

wait_for_completion

Attendez la fin de cette exécution. Retourne l’objet d’état après 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 faut afficher la sortie d’exécution sur sys.stdout.

Valeur par défaut: False
wait_post_processing

Indique s’il faut attendre la fin du post-traitement une fois l’exécution terminée.

Valeur par défaut: False
raise_on_error

Indique si une erreur est déclenchée lorsque l’exécution est dans un é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 utile pour décrire une exécution.

Retours

Type Description
str

Description de l’exécution.

display_name

Retourne le nom complet de l’exécution.

Le nom complet 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 complet de l’exécution.

experiment

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

Retours

Type Description

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

id

Obtenir l’ID d’exécution.

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

Retours

Type Description
str

ID d’exécution.

name

OBSOLESCENT. 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

Obtenir le numéro d’exécution.

Nombre monotoniquement croissant représentant l’ordre des exécutions dans une expérience.

Retours

Type Description
int

Numéro d’exécution.

parent

Récupérez l’exécution parente pour cette exécution à partir du service.

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

Retours

Type Description
Run

Exécution parente ou Aucun si aucun n’est 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 générées par le système immuables, telles que la durée, la date d’exécution, l’utilisateur, etc.

status

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

tags

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

Retours

Type Description

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

type

Obtenir le type d’exécution.

Indique comment l’exécution a été créée ou configurée.

Retours

Type Description
str

Type d’exécution.