Interprétation des résultats - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Interprétation des résultats

Après avoir exécuté une tâche de traitement de référence et obtenu des statistiques et des contraintes pour votre jeu de données, vous pouvez exécuter des tâches de surveillance qui calculent les statistiques et répertorient les violations des contraintes de référence. Les CloudWatch statistiques Amazon sont également enregistrées dans votre compte par défaut. Pour plus d'informations sur l'affichage des résultats de la surveillance dans Amazon SageMaker Studio, consultezVisualisez les résultats pour les points de terminaison en temps réel dans Amazon Studio SageMaker .

Répertorier les exécutions

Le programme démarre les tâches de surveillance aux intervalles spécifiés. Le code suivant répertorie les cinq dernières exécutions. Si vous exécutez ce code après avoir créé le calendrier horaire, les exécutions sont peut-être vides et vous devrez peut-être attendre d'avoir dépassé la limite des heures (inUTC) pour voir les exécutions commencer. Le code suivant inclut la logique d'attente.

mon_executions = my_default_monitor.list_executions() print("We created a hourly schedule above and it will kick off executions ON the hour (plus 0 - 20 min buffer.\nWe will have to wait till we hit the hour...") while len(mon_executions) == 0: print("Waiting for the 1st execution to happen...") time.sleep(60) mon_executions = my_default_monitor.list_executions()

Inspecter une exécution spécifique

À l'étape précédente, vous avez récupéré la dernière exécution programmée réussie ou non. Vous pouvez explorer ce qui s'est bien ou mal passé. Les états terminaux sont les suivants :

  • Completed : l'exécution de la surveillance a réussi et le rapport de violations n'a révélé aucun problème.

  • CompletedWithViolations : l'exécution est terminée, mais des violations des contraintes ont été détectées.

  • Failed : l'exécution de la surveillance a échoué, peut-être à cause d'une erreur client (problèmes de rôle, par exemple) ou de problèmes d'infrastructure. Pour identifier la cause, veuillez consulter FailureReason et ExitMessage.

latest_execution = mon_executions[-1] # latest execution's index is -1, previous is -2 and so on.. time.sleep(60) latest_execution.wait(logs=False) print("Latest execution status: {}".format(latest_execution.describe()['ProcessingJobStatus'])) print("Latest execution result: {}".format(latest_execution.describe()['ExitMessage'])) latest_job = latest_execution.describe() if (latest_job['ProcessingJobStatus'] != 'Completed'): print("====STOP==== \n No completed executions to inspect further. Please wait till an execution completes or investigate previously reported failures.")
report_uri=latest_execution.output.destination print('Report Uri: {}'.format(report_uri))

Liste des rapports générés

Utilisez le code suivant pour répertorier les rapports générés.

from urllib.parse import urlparse s3uri = urlparse(report_uri) report_bucket = s3uri.netloc report_key = s3uri.path.lstrip('/') print('Report bucket: {}'.format(report_bucket)) print('Report key: {}'.format(report_key)) s3_client = boto3.Session().client('s3') result = s3_client.list_objects(Bucket=report_bucket, Prefix=report_key) report_files = [report_file.get("Key") for report_file in result.get('Contents')] print("Found Report Files:") print("\n ".join(report_files))

Rapport de violations

Si des violations sont détectées par rapport à la référence, elles sont générées dans le rapport de violations. Utilisez le code suivant pour répertorier les violations.

violations = my_default_monitor.latest_monitoring_constraint_violations() pd.set_option('display.max_colwidth', -1) constraints_df = pd.io.json.json_normalize(violations.body_dict["violations"]) constraints_df.head(10)

Cela s'applique uniquement aux jeux de données contenant des données tabulaires. Les fichiers de schéma suivants spécifient les statistiques calculées et les violations surveillées.

Fichiers de sortie pour données tabulaires

Nom de fichier Description
statistics.json

Contient des statistiques en colonnes pour chaque fonction du jeu de données analysé. Consultez le schéma de ce fichier dans la rubrique suivante.

Note

Ce fichier est créé uniquement pour la surveillance de la qualité des données.

constraint_violations.json

Contient une liste des violations détectées dans ce jeu de données actuel par rapport au fichier de statistiques et de contraintes de référence spécifié dans les chemins d'accès baseline_constaints et baseline_statistics.

Conteneur préfabriqué Amazon SageMaker Model Monitorenregistre par défaut un ensemble de CloudWatch statistiques Amazon pour chaque fonctionnalité.

Le code du conteneur peut émettre CloudWatch des métriques à cet emplacement :/opt/ml/output/metrics/cloudwatch.