Interpretazione dei risultati - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Interpretazione dei risultati

Dopo aver eseguito un processo di elaborazione della linea di base e aver ottenuto statistiche e vincoli per il set di dati, puoi eseguire processi di monitoraggio che calcolano le statistiche ed elencano eventuali violazioni riscontrate relativamente ai vincoli della linea di base. Per impostazione predefinita, le CloudWatch metriche di Amazon vengono riportate anche nel tuo account. Per informazioni sulla visualizzazione dei risultati del monitoraggio in Amazon SageMaker Studio, consultaVisualizza i risultati per gli endpoint in tempo reale in Amazon Studio SageMaker .

Elenco delle esecuzioni

La pianificazione avvia i processi di monitoraggio negli intervalli specificati. Il codice seguente elenca le ultime cinque esecuzioni. Se si esegue questo codice dopo aver creato la pianificazione oraria, le esecuzioni potrebbero essere vuote e potrebbe essere necessario attendere fino all'ora impostata (in UTC) per vedere l'inizio delle esecuzioni. Il codice seguente include la logica per l'attesa.

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

Ispeziona un'esecuzione specifica

Nella fase precedente hai selezionato l'ultima esecuzione pianificata completata o non riuscita. È possibile osservare cosa ha funzionato o meno. Gli stati finali sono:

  • Completed: l'esecuzione del monitoraggio è stata completata e non sono stati riscontrati problemi nel report delle violazioni.

  • CompletedWithViolations: l'esecuzione è stata completata, ma sono state rilevate violazioni dei vincoli.

  • Failed: l'esecuzione del monitoraggio non è riuscita, probabilmente a causa di errori del client (ad esempio, problemi di un ruolo) o problemi di infrastruttura. Per individuare la causa, consulta FailureReason e 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))

Elenca i report generati

Usa il codice seguente per elencare i report generati.

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

Report sulle violazioni

In caso di violazioni rispetto alla linea di base, queste vengono generate nel report delle violazioni. Utilizza questo codice per elencare le violazioni.

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)

Vale solo per i set di dati che contengono dati tabulari. I seguenti file di schema specificano le statistiche calcolate e le violazioni monitorate.

File di output per set di dati tabulari
Nome del file Descrizione
statistics.json

Contiene statistiche a colonne per ogni funzionalità del set di dati analizzato. Consulta lo schema di questo file nell'argomento successivo.

Nota

Questo file viene creato solo per il monitoraggio della qualità dei dati.

constraint_violations.json

Contiene un elenco di violazioni rilevate in questo set di dati corrente rispetto al file di statistiche e vincoli della linea di base specificato nei percorsi baseline_constaints e baseline_statistics.

Per impostazione predefinita, Contenitore precostruito Amazon SageMaker Model Monitor salva un set di CloudWatch parametri Amazon per ciascuna funzionalità.

Il codice del contenitore può emettere CloudWatch metriche in questa posizione:. /opt/ml/output/metrics/cloudwatch