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._RunBaseRun
Constructeur
Run(experiment, run_id, outputs=None, **kwargs)
Paramètres
Nom | Description |
---|---|
experiment
Obligatoire
|
Expérience contenante. |
run_id
Obligatoire
|
ID de l’exécution. |
outputs
|
Sorties à suivre. Valeur par défaut: None
|
_run_dto
Obligatoire
|
<xref:azureml._restclient.models.run_dto.RunDto>
À usage interne uniquement |
kwargs
Obligatoire
|
Dictionnaire des paramètres de configuration supplémentaires. |
experiment
Obligatoire
|
Expérience contenante. |
run_id
Obligatoire
|
ID de l’exécution. |
outputs
Obligatoire
|
Sorties à suivre. |
kwargs
Obligatoire
|
Dictionnaire des paramètres de configuration supplémentaires. |
Remarques
Une exécution représente l’évaluation unique d’une expérience. Un objet d’exécution permet de superviser l’exécution asynchrone d’une version d’évaluation, de journaliser les métriques et de stocker la sortie de la version d’évaluation, ainsi que d’analyser les résultats et les artefacts d’accès générés par la version d’évaluation.
L’exécution est utilisée à l’intérieur de votre code d’expérimentation pour enregistrer les métriques et les artefacts dans le service d’historique des exécutions.
L’exécution est utilisée en dehors de vos expériences pour surveiller la progression, mais aussi pour interroger et analyser les métriques et les résultats générés.
La fonctionnalité d’exécution comprend :
le stockage et récupération des métriques et des données
le chargement et téléchargement de fichiers
l’utilisation de balises et de la hiérarchie enfant pour faciliter la recherche des exécutions passées
l’inscription de fichiers de modèles stockés en tant que modèle pouvant être mis en œuvre
le stockage, la modification et la récupération des propriétés d’une exécution
Charger l’exécution actuelle à partir d’un environnement distant avec la méthode get_context
Instantané efficace d’un fichier ou d’un répertoire pour la répétabilité
Cette classe fonctionne avec Experiment dans les scénarios suivants :
Créer une exécution en exécutant du code à l’aide de submit
Créer une exécution interactive dans un notebook à l’aide de start_logging
Journaliser des métriques et le téléchargement des artefacts dans votre expérience, par exemple lors de l’utilisation de log
Lire des métriques et téléchargement des artefacts lors de l’analyse des résultats expérimentaux, par exemple lors de l’utilisation get_metrics
Pour envoyer une exécution, créez un objet de configuration qui décrit l’exécution de l’expérience. Voici des exemples d’objets de configuration différents que vous pouvez utiliser :
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 appelerlog_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 à |
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 |
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 |
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 :
Remarque : M peut être n’importe quelle valeur et contrôle la résolution des graphiques. Ceci est indépendant du jeu de données, est défini lors du calcul des métriques et de l’espace de stockage, du temps de calcul et de la résolution. Les balises de classe doivent être des chaînes, les valeurs de confusion doivent être des entiers et les seuils doivent être des valeurs à virgule flottante. |
log_confusion_matrix |
Journalisez une matrice de confusion dans le magasin d’artefacts. Cela journalise un wrapper autour de la matrice de confusion sklearn. Les données de mesure contiennent les balises de classe et une liste 2D pour la matrice elle-même. Pour plus d’informations sur la façon dont la mesure est calculée, consultez le lien suivant : https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html |
log_image |
Consignez une métrique d’image dans l’enregistrement d’exécution. |
log_list |
Journalisez une liste de valeurs de métriques dans l’exécution avec le nom donné. |
log_predictions |
Journalise les prédictions dans le magasin d’artefacts. Cela enregistre un score de métrique qui peut être utilisé pour comparer les distributions de valeurs cibles vraies à la distribution de valeurs prédites pour une tâche de régression. Les prédictions sont classées et les écarts types sont calculés pour les barres d’erreur sur un graphique en courbes. |
log_residuals |
Journalisez les résidus dans le magasin d’artefacts. Cela permet de journaliser les données nécessaires pour afficher un histogramme des résidus d’une tâche de régression. Les résidus sont prédits - réels. Il doit y avoir une arête supplémentaire au nombre de décomptes. Pour obtenir des exemples d’utilisation des décomptes et des arêtes pour représenter un histogramme, consultez la documentation de l’histogramme. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html |
log_row |
Journalisez une métrique de ligne dans l’exécution avec le nom donné. |
log_table |
Consignez une métrique de table dans l’exécution avec le nom donné. |
register_model |
Inscrire un modèle pour la mise en œuvre. |
remove_tags |
Supprimez la liste des balises mutables sur cette exécution. |
restore_snapshot |
Restaure un instantané sous la forme d’un fichier ZIP. Retourne le chemin d’accès au fichier ZIP. |
set_tags |
Ajoute ou modifie un ensemble de balises sur l’exécution. Les balises non transmises dans le dictionnaire restent inchangées. Vous pouvez également ajouter des balises de chaîne simples. Quand ces balises apparaissent dans le dictionnaire des balises sous forme de clés, leur valeur est None. Pour plus d’informations, consultez Étiqueter et rechercher des exécutions. |
start |
Marque l’exécution comme ayant démarré. Cela est généralement utilisé dans les scénarios avancés quand l’exécution a été créée par un autre acteur. |
submit_child |
Envoyez une expérience et retournez l’exécution enfant active. |
tag |
Étiquetez l’exécution avec une clé de chaîne et une valeur de chaîne facultative. |
take_snapshot |
Enregistre un instantané du fichier ou du dossier d’entrée. |
upload_file |
Chargez un fichier sur l’enregistrement d’exécution. |
upload_files |
Chargez les fichiers sur l’enregistrement d’exécution. |
upload_folder |
Chargez le dossier spécifié avec le nom de préfixe donné. |
wait_for_completion |
Attendez la fin de l’exécution de cette exécution. Retourne l’objet d’état à l’issue de l’attente. |
add_properties
Ajoutez des propriétés immuables à l’exécution.
Les balises et les propriétés (les deux dict[str, str]) diffèrent au niveau de leur mutabilité. Les propriétés sont immuables et créent enregistrement permanent à des fins d’audit. Les balises sont mutables. Pour plus d’informations sur l’utilisation des balises et des propriétés, consultez Étiqueter et rechercher des exécutions.
add_properties(properties)
Paramètres
Nom | Description |
---|---|
properties
Obligatoire
|
Propriétés masquées stockées dans l’objet d’exécution. |
add_type_provider
Raccordement d’extensibilité pour les types d’exécution personnalisés stockés dans l’historique des exécutions.
static add_type_provider(runtype, run_factory)
Paramètres
Nom | Description |
---|---|
runtype
Obligatoire
|
Valeur de Run.type pour laquelle la fabrique sera appelée. Par exemple « hyperdrive » ou « azureml.scriptrun », mais il peut être étendu avec des types personnalisés. |
run_factory
Obligatoire
|
<xref:function>
Fonction avec signature (Experiment, RunDto) : > exécution à appeler lors de l’exécution de création de la liste. |
cancel
Marquez l’exécution comme annulée.
Si un travail est associé à un champ cancel_uri défini, arrêtez également ce travail.
cancel()
child_run
Crée une exécution enfant.
child_run(name=None, run_id=None, outputs=None)
Paramètres
Nom | Description |
---|---|
name
|
Nom facultatif pour l’exécution enfant, généralement spécifié pour une « partie ». Valeur par défaut: None
|
run_id
|
ID d’exécution facultatif pour l’enfant. S’il n’est pas défini, il est généré automatiquement. En général, ce paramètre n’est pas défini. Valeur par défaut: None
|
outputs
|
Répertoire de sorties facultatif à suivre pour l’enfant. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Exécution enfant. |
Remarques
Utilisé pour isoler une partie d’une exécution dans une sous-section. Cette opération peut être effectuée pour les « parties » identifiables d’une exécution que vous souhaitez dissocier ou pour capturer des métriques indépendantes dans une itération d’un sous-processus.
Si un répertoire de sortie est défini pour l’exécution enfant, le contenu de ce répertoire est chargé dans l’enregistrement d’exécution enfant quand l’enfant s’est effectué.
clean
Supprime les fichiers correspondant à l’exécution actuelle sur la cible spécifiée dans la configuration de série de tests.
clean()
Retours
Type | Description |
---|---|
Liste des fichiers supprimés. |
complete
Attente du traitement de la file d’attente des tâches.
La tâche est marquée comme terminée. Cette procédure est généralement utilisée dans les scénarios de notebooks interactifs.
complete(_set_status=True)
Paramètres
Nom | Description |
---|---|
_set_status
|
Indique si l’événement d’état doit être envoyé pour le suivi. Valeur par défaut: True
|
create_children
Crée une ou plusieurs exécutions enfants.
create_children(count=None, tag_key=None, tag_values=None)
Paramètres
Nom | Description |
---|---|
count
|
Nombre facultatif d’enfants à créer. Valeur par défaut: None
|
tag_key
|
Clé facultative pour remplir l’entrée des balises dans tous les enfants créés. Valeur par défaut: None
|
tag_Values
Obligatoire
|
Liste facultative de valeurs qui sont mappées sur Tags[tag_key] pour la liste des exécutions créées. |
tag_values
|
Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Liste des exécutions enfants. |
Remarques
Le paramètre count
OU les paramètres tag_key
ET tag_values
doivent être spécifiés.
download_file
Télécharge un fichier associé à partir du stockage.
download_file(name, output_file_path=None, _validate_checksum=False)
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom de l’artefact à télécharger. |
output_file_path
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
Nom | Description |
---|---|
prefix
Obligatoire
|
Préfixe du chemin d’accès au fichier au sein du conteneur à partir duquel télécharger tous les artefacts. |
output_directory
Obligatoire
|
Répertoire facultatif que tous les chemins d’artefact utilisent comme préfixes. |
output_paths
Obligatoire
|
[str]
Chemins d’accès aux fichiers facultatifs dans lesquels stocker les artefacts téléchargés. Doit être unique et correspondre à la longueur des chemins. |
batch_size
Obligatoire
|
Nombre de fichiers à télécharger par lot. La valeur par défaut est 100 fichiers. |
append_prefix
Obligatoire
|
Indicateur facultatif pour déterminer s’il faut ajouter le préfixe spécifié à partir du chemin du fichier de sortie final. Si False est défini, le préfixe est supprimé du chemin du fichier de sortie. |
timeout_seconds
Obligatoire
|
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
Nom | Description |
---|---|
error_details
|
str ou
BaseException
Détails facultatifs de l’erreur. Valeur par défaut: None
|
error_code
|
Code d’erreur facultatif pour la classification des erreurs. Valeur par défaut: None
|
_set_status
|
Indique si l’événement d’état doit être envoyé pour le suivi. Valeur par défaut: True
|
flush
Attente du traitement de la file d’attente des tâches.
flush(timeout_seconds=300)
Paramètres
Nom | Description |
---|---|
timeout_seconds
|
Délai d’attente (en secondes) pour le traitement de la file d’attente des tâches. Valeur par défaut: 300
|
get
Obtient l’exécution pour cet espace de travail avec son ID d’exécution.
static get(workspace, run_id)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Espace de travail contenant. |
run_id
Obligatoire
|
ID d’exécution. |
Retours
Type | Description |
---|---|
Exécution soumise. |
get_all_logs
Téléchargez tous les journaux de l’exécution dans un répertoire.
get_all_logs(destination=None)
Paramètres
Nom | Description |
---|---|
destination
|
Chemin de destination pour stocker les journaux. Si aucune valeur n’est spécifiée, un répertoire nommé comme l’ID d’exécution est créé dans le répertoire du projet. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Liste des noms des journaux téléchargés. |
get_children
Obtient tous les enfants de l’exécution actuelle sélectionnée par les filtres spécifiés.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
Paramètres
Nom | Description |
---|---|
recursive
|
Indique si tous les descendants doivent être parcourus de manière récursive. Valeur par défaut: False
|
tags
|
Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur "tag" ou {"tag": "value"} spécifiée. Valeur par défaut: None
|
properties
|
Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur de propriété "property" ou {"property": "value"} spécifiée. Valeur par défaut: None
|
type
|
Si la valeur est spécifiée, retourne les exécutions correspondant à ce type. Valeur par défaut: None
|
status
|
Si la valeur est spécifiée, retourne les exécutions correspondant à l’état spécifié "status". Valeur par défaut: None
|
_rehydrate_runs
|
Indique s’il faut instancier une exécution du type d’origine ou de l’exécution de base. Valeur par défaut: True
|
Retours
Type | Description |
---|---|
Liste des objets Run. |
get_context
Retourne le contexte de service actuel.
Utilisez cette méthode pour récupérer le contexte de service actuel pour la journalisation des métriques et le chargement des fichiers. Si allow_offline
a la valeur True (valeur par défaut), les actions effectuées sur l’objet d’exécution sont imprimées sur la sortie standard.
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
Paramètres
Nom | Description |
---|---|
cls
Obligatoire
|
Indique la méthode de classe. |
allow_offline
|
Autorise le contexte de service à revenir en mode hors connexion afin que le script de formation puisse être testé localement sans envoyer de travail avec le kit de développement logiciel (SDK). La valeur par défaut est True. Valeur par défaut: True
|
kwargs
Obligatoire
|
Dictionnaire des paramètres supplémentaires. |
used_for_context_manager
|
Valeur par défaut: False
|
Retours
Type | Description |
---|---|
Exécution soumise. |
Remarques
Cette fonction est généralement utilisée pour récupérer l’objet d’exécution authentifié à l’intérieur d’un script devant être envoyé pour être exécuté via experiment.submit(). Cet objet d’exécution est à la fois un contexte authentifié pour communiquer avec les services Azure Machine Learning et un conteneur conceptuel comprenant les métriques, les fichiers (artefacts) et les modèles.
run = Run.get_context() # allow_offline=True by default, so can be run locally as well
...
run.log("Accuracy", 0.98)
run.log_row("Performance", epoch=e, error=err)
get_detailed_status
Récupère (fetch) l’état le plus récent de l’exécution. Si l’état de l’exécution est « En file d’attente », les détails s’affichent.
get_detailed_status()
Retours
Type | Description |
---|---|
État et détails les plus récents |
Remarques
status : état actuel de l’exécution. Même valeur que celle retournée à partir de get_status().
details : informations détaillées sur l’état actuel.
run = experiment.submit(config)
details = run.get_detailed_status()
# details = {
# 'status': 'Queued',
# 'details': 'Run requested 1 node(s). Run is in pending status.',
# }
get_details
Obtient la définition, les informations d’état, les fichiers journaux actuels et d’autres détails de l’exécution.
get_details()
Retours
Type | Description |
---|---|
Retourne les détails de l’exécution |
Remarques
Le dictionnaire retourné contient les paires clé-valeur suivantes :
runId : ID de cette exécution.
cible
status : état actuel de l’exécution. Même valeur que celle retournée à partir de get_status().
startTimeUtc : heure UTC de démarrage de cette exécution, au format ISO8601.
endTimeUtc : heure UTC de fin de l’exécution (terminée ou échec), au format ISO8601.
Cette clé n’existe pas si l’exécution est toujours en cours.
properties : paires clé-valeur immuables associées à l’exécution. Les propriétés par défaut incluent l’ID d’instantané de l’exécution et des informations sur le référentiel git à partir duquel l’exécution a été créée (le cas échéant). Des propriétés supplémentaires peuvent être ajoutées à une exécution à l’aide de add_properties.
inputDatasets : jeux de données d’entrée associés à l’exécution.
outputDatasets : jeux de données de sortie associés à l’exécution.
logFiles
submittedBy
run = experiment.start_logging()
details = run.get_details()
# details = {
# 'runId': '5c24aa28-6e4a-4572-96a0-fb522d26fe2d',
# 'target': 'sdk',
# 'status': 'Running',
# 'startTimeUtc': '2019-01-01T13:08:01.713777Z',
# 'endTimeUtc': '2019-01-01T17:15:65.986253Z',
# 'properties': {
# 'azureml.git.repository_uri': 'https://example.com/my/git/repo',
# 'azureml.git.branch': 'master',
# 'azureml.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'azureml.git.dirty': 'True',
# 'mlflow.source.git.repoURL': 'https://example.com/my/git/repo',
# 'mlflow.source.git.branch': 'master',
# 'mlflow.source.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'ContentSnapshotId': 'b4689489-ce2f-4db5-b6d7-6ad11e77079c'
# },
# 'inputDatasets': [{
# 'dataset': {'id': 'cdebf245-701d-4a68-8055-41f9cf44f298'},
# 'consumptionDetails': {
# 'type': 'RunInput',
# 'inputName': 'training-data',
# 'mechanism': 'Mount',
# 'pathOnCompute': '/mnt/datasets/train'
# }
# }],
# 'outputDatasets': [{
# 'dataset': {'id': 'd04e8a19-1caa-4b1f-b318-4cbff9af9615'},
# 'outputType': 'RunOutput',
# 'outputDetails': {
# 'outputName': 'training-result'
# }
# }],
# 'runDefinition': {},
# 'logFiles': {},
# 'submittedBy': 'Alan Turing'
# }
get_details_with_logs
Retourne l’état de l’exécution, notamment le contenu du fichier journal.
get_details_with_logs()
Retours
Type | Description |
---|---|
Retourne l’état de l’exécution avec le contenu du fichier journal. |
get_environment
Obtient la définition d’environnement qui a été utilisée par cette exécution.
get_environment()
Retours
Type | Description |
---|---|
Retourne l’objet d’environnement. |
get_file_names
Répertorie les fichiers qui sont stockés en association avec l’exécution.
get_file_names()
Retours
Type | Description |
---|---|
Liste des chemins pour les artefacts existants |
get_metrics
Récupère les métriques consignées dans l’exécution.
Si recursive
a la valeur True (False par défaut), récupère (fetch) les métriques pour les exécutions dans la sous-arborescence de l’exécution donnée.
get_metrics(name=None, recursive=False, run_type=None, populate=False)
Paramètres
Nom | Description |
---|---|
name
|
Nom de la mesure. Valeur par défaut: None
|
recursive
|
Indique si tous les descendants doivent être parcourus de manière récursive. Valeur par défaut: False
|
run_type
|
Valeur par défaut: None
|
populate
|
Indique si le contenu de données externes liées à la métrique doit être récupéré (fetch). Valeur par défaut: False
|
Retours
Type | Description |
---|---|
Dictionnaire contenant les métriques des utilisateurs. |
Remarques
run = experiment.start_logging() # run id: 123
run.log("A", 1)
with run.child_run() as child: # run id: 456
child.log("A", 2)
metrics = run.get_metrics()
# metrics = { 'A': 1 }
metrics = run.get_metrics(recursive=True)
# metrics = { '123': { 'A': 1 }, '456': { 'A': 2 } } note key is runId
get_properties
Récupère (fetch) les propriétés les plus récentes de l’exécution à partir du service.
get_properties()
Retours
Type | Description |
---|---|
Propriétés de l’exécution. |
Remarques
Les propriétés sont des informations immuables générées par le système, comme la durée, la date d’exécution, l’utilisateur et les propriétés personnalisées ajoutées à la méthode add_properties. Pour plus d’informations, consultez Étiqueter et rechercher des exécutions.
Lors de l’envoi d’un travail à Azure Machine Learning, si les fichiers sources sont stockés dans un référentiel Git local, les informations sur le référentiel sont stockées en tant que priorités. Ces propriétés Git sont ajoutées lors de la création d’une exécution ou de l’appel Experiment.submit. Pour plus d’informations sur les propriétés Git, consultez Intégration de Git pour Azure Machine Learning.
get_secret
Obtient la valeur du secret à partir du contexte d’une exécution.
Obtient la valeur du secret pour le nom fourni. Le nom du secret fait référence à une valeur stockée dans le coffre Azure Key Vault associé à votre espace de travail. Pour obtenir un exemple d’utilisation des secrets, consultez Utiliser des secrets dans les cycles de formation.
get_secret(name)
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom du secret pour lequel un secret doit être retourné. |
Retours
Type | Description |
---|---|
Valeur du secret. |
get_secrets
Obtient les valeurs de secrets pour une liste donnée de noms de secrets.
Obtient un dictionnaire des secrets trouvés et introuvables pour la liste de noms fournie. Chaque nom de secret fait référence à une valeur stockée dans le coffre Azure Key Vault associé à votre espace de travail. Pour obtenir un exemple d’utilisation des secrets, consultez Utiliser des secrets dans les cycles de formation.
get_secrets(secrets)
Paramètres
Nom | Description |
---|---|
secrets
Obligatoire
|
Liste des noms de secrets pour lesquels des valeurs secrètes doivent être retournées. |
Retours
Type | Description |
---|---|
Retourne un dictionnaire des secrets trouvés et introuvables. |
get_snapshot_id
Obtient l’ID d’instantané le plus récent.
get_snapshot_id()
Retours
Type | Description |
---|---|
ID d’instantané le plus récent. |
get_status
Récupère (fetch) l’état le plus récent de l’exécution.
Les valeurs courantes retournées sont « Exécution en cours (Running) », « Terminé (Finished) » et « Échec (Failed) ».
get_status()
Retours
Type | Description |
---|---|
État le plus récent. |
Remarques
NotStarted : il s’agit d’un état temporaire côté client. Les objets d’exécution sont intégrés avant l’envoi au cloud.
Démarrage : l’exécution a commencé à être traitée dans le cloud. L’appelant a un ID d’exécution à ce stade.
Provisionnement : renvoyé quand le calcul à la demande est en cours de création pour l’envoi d’un travail donné.
Préparation : l’environnement d’exécution est en cours de préparation :
Génération de l’image Docker
Configuration de l’environnement Conda
En attente : le travail est mis en file d’attente dans la cible de calcul. Dans BatchAI par exemple, le travail a l’état de file d’attente
en attendant que tous les nœuds demandés soient prêts.
Running (En cours d’exécution) : la tâche a commencé à s’exécuter sur la cible de calcul.
Finalisation : le code utilisateur s’est exécuté et l’exécution se trouve dans les étapes de post-traitement.
CancelRequested : l’annulation a été demandée pour le travail.
Terminé : l’exécution s’est terminée avec succès. Cela comprend à la fois le code utilisateur et l’exécution
Étapes de post-traitement.
Failed (Échec) : l’exécution a échoué. En règle générale, la propriété Error d’une exécution fournit des détails sur la raison de l’échec.
Annulé : suit une demande d’annulation et indique que l’exécution a bien été annulée.
NotResponding : pour les exécutions pour lesquelles des pulsations sont activées, aucune pulsation n’a été envoyée récemment.
run = experiment.submit(config)
while run.get_status() not in ['Completed', 'Failed']: # For example purposes only, not exhaustive
print('Run {} not in terminal state'.format(run.id))
time.sleep(10)
get_submitted_run
DÉPRÉCIÉ. Utiliser get_context.
Obtient l’exécution soumise pour cette expérience.
get_submitted_run(**kwargs)
Retours
Type | Description |
---|---|
Exécution soumise. |
get_tags
Récupère (fetch) l’ensemble de balises mutables le plus récent sur l’exécution à partir du service.
get_tags()
Retours
Type | Description |
---|---|
Balises stockées sur l’objet d’exécution. |
list
Obtient la liste des exécutions dans une expérience spécifiée par des filtres facultatifs.
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
Paramètres
Nom | Description |
---|---|
experiment
Obligatoire
|
Expérience contenante. |
type
|
Si la valeur est spécifiée, retourne les exécutions correspondant au type spécifié. Valeur par défaut: None
|
tags
|
Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur "tag" ou {"tag": "value"} spécifiée. Valeur par défaut: None
|
properties
|
Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur de propriété "property" ou {"property": "value"} spécifiée. Valeur par défaut: None
|
status
|
Si la valeur est spécifiée, retourne les exécutions correspondant à l’état spécifié "status". Valeur par défaut: None
|
include_children
|
Si True est défini, récupère (fetch) toutes les exécutions, pas uniquement celles de niveau supérieur. Valeur par défaut: False
|
_rehydrate_runs
|
Si True est défini (par défaut), utilise le fournisseur inscrit pour instancier de nouveau un objet pour ce type au lieu de l’exécution de base. Valeur par défaut: True
|
Retours
Type | Description |
---|---|
Liste des exécutions. |
Remarques
L’exemple de code suivant illustre certains utilisations de la méthode list
.
favorite_completed_runs = Run.list(experiment, status='Completed', tags='favorite')
all_distinct_runs = Run.list(experiment)
and_their_children = Run.list(experiment, include_children=True)
only_script_runs = Run.list(experiment, type=ScriptRun.RUN_TYPE)
list_by_compute
Obtient la liste des exécutions dans un calcul spécifié par des filtres facultatifs.
static list_by_compute(compute, type=None, tags=None, properties=None, status=None)
Paramètres
Nom | Description |
---|---|
compute
Obligatoire
|
Calcul contenant. |
type
|
Si la valeur est spécifiée, retourne les exécutions correspondant au type spécifié. Valeur par défaut: None
|
tags
|
Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur "tag" ou {"tag": "value"} spécifiée. Valeur par défaut: None
|
properties
|
Si la valeur est spécifiée, retourne les exécutions correspondant à la valeur de propriété "property" ou {"property": "value"} spécifiée. Valeur par défaut: None
|
status
|
Si la valeur est spécifiée, retourne les exécutions correspondant à l’état spécifié "status". Les valeurs autorisées sont « En cours (Running) » et « File d’attente (Queued) ». Valeur par défaut: None
|
Retours
Type | Description |
---|---|
<xref:builtin.generator>
|
Générateur de ~_restclient.models.RunDto |
log
Consignez une valeur de métrique dans l’exécution avec le nom donné.
log(name, value, description='', step=None)
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom de la métrique. |
value
Obligatoire
|
Valeur à publier dans le service. |
description
Obligatoire
|
Description facultative de la métrique. |
step
|
Axe facultatif permettant de spécifier l’ordre des valeurs dans une métrique. Valeur par défaut: None
|
Remarques
La journalisation d’une métrique dans une exécution entraîne le stockage de cette métrique dans l’enregistrement d’exécution dans l’expérimentation. Vous pouvez consigner la même métrique plusieurs fois pendant une exécution, le résultat étant considéré comme un vecteur de cette métrique. Si l’étape est spécifiée pour une métrique, elle doit être spécifiée pour toutes les valeurs.
log_accuracy_table
Consigne une table de précision dans le magasin d’artefacts.
La métrique de la table de précision est une mesure non scalaire à usage multiple permettant de produire différents types de graphiques en courbes qui varient continuellement sur l’espace des probabilités prédites. Les courbes ROC, les rappels de précision et les courbes d’élévation sont des exemples de ces graphiques.
Le calcul de la table de précision est similaire au calcul d’une courbe ROC. Une courbe ROC stocke des taux vrais positifs et des taux faux positifs à de nombreux seuils de probabilité différents. La table de précision stocke le nombre brut de vrais positifs, de faux positifs, de vrais négatifs et de faux négatifs à de nombreux seuils de probabilité.
Deux méthodes sont utilisées pour sélectionner des seuils : « probabilité » et « centile ». Elles diffèrent dans la façon dont elles sont échantillonnées à partir de l’espace des probabilités prédites.
Les seuils de probabilité sont des seuils espacés uniformément et sont compris entre 0 et 1. Si NUM_POINTS est 5, les seuils de probabilité sont [0.0, 0.25, 0.5, 0.75, 1.0].
Les seuils de centile sont espacés en fonction de la répartition des probabilités prédites. Chaque seuil correspond au centile des données à un seuil de probabilité. Par exemple, si NUM_POINTS est 5, le premier seuil se trouve au centile 0, le deuxième au 25e centile, le troisième au 50e, et ainsi de suite.
Les tables de probabilités et les tables de centiles sont des listes 3D dans lesquelles la première dimension représente l’étiquette de classe, la deuxième dimension représente l’échantillon à un seuil (évolue avec NUM_POINTS) et la troisième dimension a toujours 4 valeurs : TP, FP, TN, FN et toujours dans cet ordre.
Les valeurs de confusion (TP, FP, TN, FN) sont calculées à l’aide de la stratégie une et REST. Pour plus d’informations, consultez le lien suivant : https://en.wikipedia.org/wiki/Multiclass_classification
N = nombre d’échantillons dans le jeu de données de validation (200 dans l’exemple) M = nombre de seuils = nombre d’échantillons issus de l’espace de probabilité (5 dans l’exemple) C = nombre de classes dans le jeu de données complet (3 dans l’exemple)
Certains invariants de la table de précision :
- TP + FP + TN + FN = N pour tous les seuils de toutes les classes
- TP + FN est identique pour tous les seuils d’une classe
- TN + FP est identique pour tous les seuils d’une classe
- Les tables de probabilités et les tables de centile ont la forme [C, M, 4]
Remarque : M peut être n’importe quelle valeur et contrôle la résolution des graphiques. Ceci est indépendant du jeu de données, est défini lors du calcul des métriques et de l’espace de stockage, du temps de calcul et de la résolution.
Les balises de classe doivent être des chaînes, les valeurs de confusion doivent être des entiers et les seuils doivent être des valeurs à virgule flottante.
log_accuracy_table(name, value, description='')
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom de la table de précision. |
value
Obligatoire
|
JSON contenant le nom, la version et les propriétés des données. |
description
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
Nom | Description |
---|---|
name
Obligatoire
|
Nom de la matrice de confusion. |
value
Obligatoire
|
JSON contenant le nom, la version et les propriétés des données. |
description
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
Nom | Description |
---|---|
name
Obligatoire
|
Nom de la mesure. |
path
Obligatoire
|
Chemin d’accès ou flux de l’image. |
plot
Obligatoire
|
<xref:matplotlib.pyplot>
Tracé à journaliser en tant qu’image. |
description
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
Nom | Description |
---|---|
name
Obligatoire
|
Nom de la métrique. |
value
Obligatoire
|
Valeurs de la métrique. |
description
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
Nom | Description |
---|---|
name
Obligatoire
|
Nom des prédictions. |
value
Obligatoire
|
JSON contenant le nom, la version et les propriétés des données. |
description
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
Nom | Description |
---|---|
name
Obligatoire
|
Nom des résidus. |
value
Obligatoire
|
JSON contenant le nom, la version et les propriétés des données. |
description
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
Nom | Description |
---|---|
name
Obligatoire
|
Nom de la métrique. |
description
|
Description facultative de la métrique. Valeur par défaut: None
|
kwargs
Obligatoire
|
Dictionnaire des paramètres supplémentaires. Dans ce cas, les colonnes de la métrique. |
Remarques
L’utilisation de log_row
crée une métrique de table avec des colonnes, comme décrit dans kwargs. Chaque paramètre nommé génère une colonne avec la valeur spécifiée. Vous pouvez appeler log_row
une seule fois pour journaliser un tuple arbitraire ou plusieurs fois dans une boucle pour générer une table complète.
citrus = ['orange', 'lemon', 'lime']
sizes = [ 10, 7, 3]
for index in range(len(citrus)):
run.log_row("citrus", fruit = citrus[index], size=sizes[index])
log_table
Consignez une métrique de table dans l’exécution avec le nom donné.
log_table(name, value, description='')
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom de la métrique. |
value
Obligatoire
|
Valeur de table de la métrique, un dictionnaire où les clés sont des colonnes à publier dans le service. |
description
Obligatoire
|
Description facultative de la métrique. |
register_model
Inscrire un modèle pour la mise en œuvre.
register_model(model_name, model_path=None, tags=None, properties=None, model_framework=None, model_framework_version=None, description=None, datasets=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None, **kwargs)
Paramètres
Nom | Description |
---|---|
model_name
Obligatoire
|
Nom du modèle. |
model_path
|
Chemin d’accès cloud relatif au modèle, par exemple, « outputs/modelname ».
Lorsqu’il n’est pas spécifié (None), Valeur par défaut: None
|
tags
|
Dictionnaire des balises de valeur de clé à attribuer au modèle. Valeur par défaut: None
|
properties
|
Dictionnaire des propriétés de valeur de clé à attribuer au modèle. Ces propriétés ne peuvent pas être modifiées après la création du modèle. De nouvelles paires clé/valeur peuvent toutefois être ajoutées. Valeur par défaut: None
|
model_framework
|
Infrastructure du modèle à inscrire. Infrastructures actuellement prises en charge : TensorFlow, ScikitLearn, Onnx, Custom, Multi Valeur par défaut: None
|
model_framework_version
|
Version d’infrastructure du modèle inscrit. Valeur par défaut: None
|
description
|
Description facultative du modèle. Valeur par défaut: None
|
datasets
|
Liste des tuples où le premier élément décrit la relation jeu de données-modèle et le deuxième élément correspond au jeu de données. Valeur par défaut: None
|
sample_input_dataset
|
facultatif. Exemple de jeu de données d’entrée pour le modèle inscrit Valeur par défaut: None
|
sample_output_dataset
|
facultatif. Exemple de jeu de données de sortie pour le modèle inscrit Valeur par défaut: None
|
resource_configuration
|
facultatif. Configuration de ressource pour exécuter le modèle inscrit Valeur par défaut: None
|
kwargs
Obligatoire
|
Paramètres facultatifs. |
Retours
Type | Description |
---|---|
Modèle inscrit. |
Remarques
model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')
remove_tags
Supprimez la liste des balises mutables sur cette exécution.
remove_tags(tags)
Paramètres
Nom | Description |
---|---|
tags
Obligatoire
|
Liste des balises à supprimer. |
Retours
Type | Description |
---|---|
Balises stockées sur l’objet d’exécution |
restore_snapshot
Restaure un instantané sous la forme d’un fichier ZIP. Retourne le chemin d’accès au fichier ZIP.
restore_snapshot(snapshot_id=None, path=None)
Paramètres
Nom | Description |
---|---|
snapshot_id
|
ID d’instantané à restaurer. Le plus récent est utilisé s’il n’est pas spécifié. Valeur par défaut: None
|
path
|
Chemin d’accès où se trouve le fichier ZIP téléchargé. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Chemin d’accès. |
set_tags
Ajoute ou modifie un ensemble de balises sur l’exécution. Les balises non transmises dans le dictionnaire restent inchangées.
Vous pouvez également ajouter des balises de chaîne simples. Quand ces balises apparaissent dans le dictionnaire des balises sous forme de clés, leur valeur est None. Pour plus d’informations, consultez Étiqueter et rechercher des exécutions.
set_tags(tags)
Paramètres
Nom | Description |
---|---|
tags
Obligatoire
|
Balises stockées dans l’objet d’exécution. |
start
Marque l’exécution comme ayant démarré.
Cela est généralement utilisé dans les scénarios avancés quand l’exécution a été créée par un autre acteur.
start()
submit_child
Envoyez une expérience et retournez l’exécution enfant active.
submit_child(config, tags=None, **kwargs)
Paramètres
Nom | Description |
---|---|
config
Obligatoire
|
Configuration à envoyer. |
tags
|
Balises à ajouter à la série envoyée, par exemple {"tag" : "value"}. Valeur par défaut: None
|
kwargs
Obligatoire
|
Paramètres supplémentaires utilisés dans la fonction submit pour les configurations. |
Retours
Type | Description |
---|---|
Objet d’exécution. |
Remarques
La méthode submit est un appel asynchrone à la plateforme Azure Machine Learning pour exécuter un essai sur du matériel local ou distant. En fonction de la configuration, la méthode submit prépare automatiquement vos environnements d’exécution, exécute votre code et capture votre code source ainsi que les résultats dans l’historique des exécutions de l’expérience.
Pour soumettre une expérience, vous devez d’abord créer un objet de configuration décrivant la façon dont l’expérience doit être exécutée. La configuration dépend du type d’essai requis.
Voici un exemple d’envoi d’une expérience enfant à partir de votre ordinateur local à l’aide de ScriptRunConfig :
from azureml.core import ScriptRunConfig
# run a trial from the train.py code in your current directory
config = ScriptRunConfig(source_directory='.', script='train.py',
run_config=RunConfiguration())
run = parent_run.submit_child(config)
# get the url to view the progress of the experiment and then wait
# until the trial is complete
print(run.get_portal_url())
run.wait_for_completion()
Pour plus d’informations sur la configuration d’une exécution, consultez submit.
tag
Étiquetez l’exécution avec une clé de chaîne et une valeur de chaîne facultative.
tag(key, value=None)
Paramètres
Nom | Description |
---|---|
key
Obligatoire
|
Clé de la balise |
value
|
Valeur facultative pour la balise Valeur par défaut: None
|
Remarques
Les balises et les propriétés d’une série sont les deux dictionnaires de string-> string. La différence entre eux est la mutabilité : les balises peuvent être définies, mises à jour et supprimées lorsque les propriétés peuvent uniquement être ajoutées. Les propriétés sont ainsi plus appropriées pour les déclencheurs de comportement liés au système et aux flux de travail, tandis que les balises sont généralement orientées vers l’utilisateur et significatives pour les consommateurs de l’expérience.
run = experiment.start_logging()
run.tag('DeploymentCandidate')
run.tag('modifiedBy', 'Master CI')
run.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable
run.add_properties({'BuildId': os.environ.get('VSTS_BUILD_ID')}) # Properties are not
tags = run.get_tags()
# tags = { 'DeploymentCandidate': None, 'modifiedBy': 'release pipeline' }
take_snapshot
Enregistre un instantané du fichier ou du dossier d’entrée.
take_snapshot(file_or_folder_path)
Paramètres
Nom | Description |
---|---|
file_or_folder_path
Obligatoire
|
Fichier ou dossier contenant le code source d’exécution. |
Retours
Type | Description |
---|---|
Retourne l’ID de l’instantané. |
Remarques
Les instantanés sont destinés à être le code source utilisé pour exécuter l’expérience. Celles-ci sont stockées avec l’exécution afin que la version d’évaluation puisse être répliquée à l’avenir.
Notes
Les instantanés sont automatiquement pris lorsque submit est appelé. En général, cette méthode take_snapshot est nécessaire uniquement pour les exécutions interactives (notebook).
upload_file
Chargez un fichier sur l’enregistrement d’exécution.
upload_file(name, path_or_stream, datastore_name=None)
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom du fichier a chargé. |
path_or_stream
Obligatoire
|
Chemin d’accès local ou flux relatif au fichier à charger. |
datastore_name
Obligatoire
|
Nom de magasin de données facultatif |
Retours
Type | Description |
---|---|
Remarques
run = experiment.start_logging()
run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")
Notes
Les exécutions capturent automatiquement le fichier dans le répertoire de sortie spécifié, par défaut « ./outputs » pour la plupart des types d’exécutions. Utilisez upload_file uniquement quand des fichiers supplémentaires doivent être chargés ou qu’aucun répertoire de sortie n’est spécifié.
upload_files
Chargez les fichiers sur l’enregistrement d’exécution.
upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)
Paramètres
Nom | Description |
---|---|
names
Obligatoire
|
Noms des fichiers à charger. Si cette valeur est définie, les chemins sont requis. |
paths
Obligatoire
|
Chemins d’accès locaux aux fichiers à charger. Si cette valeur est définie, les noms sont requis. |
return_artifacts
Obligatoire
|
Indique qu’un objet d’artefact doit être retourné pour chaque fichier chargé. |
timeout_seconds
Obligatoire
|
Délai d’attente pour le chargement des fichiers. |
datastore_name
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
Nom | Description |
---|---|
name
Obligatoire
|
Nom du dossier de fichiers à charger. |
folder
Obligatoire
|
Chemin d’accès local relatif au dossier à charger. |
datastore_name
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
Nom | Description |
---|---|
show_output
|
Indique s’il est nécessaire d’afficher la sortie d’exécution sur sys.stdout. Valeur par défaut: False
|
wait_post_processing
|
Indique s’il est nécessaire d’attendre la fin du traitement de la validation une fois l’exécution terminée. Valeur par défaut: False
|
raise_on_error
|
Indique si une erreur est générée quand l’exécution est à l’état d’échec. Valeur par défaut: True
|
Retours
Type | Description |
---|---|
Objet d’état. |
Attributs
description
Retourne la description de l’exécution.
La description facultative de l’exécution est une chaîne spécifiée par l’utilisateur qui permet de décrire une exécution.
Retours
Type | Description |
---|---|
Description de l’exécution. |
display_name
Retourne le nom d’affichage de l’exécution.
Le nom d’affichage facultatif de l’exécution est une chaîne spécifiée par l’utilisateur, utile pour l’identification ultérieure de l’exécution.
Retours
Type | Description |
---|---|
Nom d’affichage de l’exécution. |
experiment
Obtient l’expérience contenant l’exécution.
Retours
Type | Description |
---|---|
Récupère l’expérience correspondant à l’exécution. |
id
Obtient l’ID d’exécution.
L’ID de l’exécution est un identificateur unique dans l’expérience contenante.
Retours
Type | Description |
---|---|
ID d’exécution. |
name
DÉPRÉCIÉ. Utilisez display_name.
Le nom facultatif de l’exécution est une chaîne spécifiée par l’utilisateur, utile pour l’identification ultérieure de l’exécution.
Retours
Type | Description |
---|---|
ID d’exécution. |
number
Obtient le numéro de l’exécution.
Nombre à croissance monotone représentant l’ordre des exécutions au sein d’une expérience.
Retours
Type | Description |
---|---|
Numéro de l’exécution. |
parent
Récupère (fetch) l’exécution parent de l’exécution à partir du service.
Les exécutions peuvent avoir un parent facultatif, ce qui entraîne une hiérarchie d’arborescence potentielle des exécutions. Pour enregistrer les métriques dans une exécution parent, utilisez la méthode log de l’objet parent, par exemple run.parent.log()
.
Retours
Type | Description |
---|---|
Exécution parent, ou None s’il n’est pas défini. |
properties
Retourne les propriétés immuables de cette exécution.
Retours
Type | Description |
---|---|
Propriétés mises en cache localement de l’exécution. |
Remarques
Les propriétés incluent des informations immuables générées par le système, comme la durée, la date d’exécution, l’utilisateur, etc.
status
Retourne l’état de l’objet d’exécution.
tags
Retourne l’ensemble de balises mutables sur cette exécution.
Retours
Type | Description |
---|---|
Balises stockées sur l’objet d’exécution. |
type
Obtient le type d’exécution.
Indique la façon dont l’exécution a été créée ou configurée.
Retours
Type | Description |
---|---|
Type d’exécution. |