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 esegui questo codice dopo aver creato la pianificazione oraria, le esecuzioni potrebbero essere vuote e potresti dover attendere di superare il limite orario (inUTC) per vederle iniziare. 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, consultaFailureReason
eExitMessage
.
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
Utilizza 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. NotaQuesto 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 |
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