Planen von Überwachungsjobs - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Planen von Überwachungsjobs

Amazon SageMaker Mit Model Monitor haben Sie die Möglichkeit, die von den Endpunkten gesammelten Daten kontinuierlich nach einem Zeitplan zu überwachen. Sie können einen Überwachungsplan mit der CreateMonitoringSchedule-API mit einem vordefinierten periodischen Intervall erstellen. Zum Beispiel alle x Stunden (x kann zwischen 1 und 23 liegen).

Mit einem Überwachungsplan SageMaker kann Verarbeitungsaufträge mit einer bestimmten Häufigkeit starten, um die während eines bestimmten Zeitraums gesammelten Daten zu analysieren. SageMaker stellt einen vorgefertigten Container zur Durchführung von Analysen für tabellarische Datasets bereit. Im Verarbeitungsauftrag SageMaker vergleicht das Dataset für die aktuelle Analyse mit den bereitgestellten Baseline-Statistiken, bereitgestellten Einschränkungen und generiert einen Bericht der Verstöße. Darüber hinaus gilt CloudWatch Für jedes zu analysierende Feature werden Metriken ausgegeben. Alternativ können Sie, wie im Thema Verwendung Ihrer eigenen Container beschrieben, Ihren eigenen Container bereitstellen.

Sie können einen Modellüberwachungsplan für den zuvor erstellten Endpunkt erstellen. Verwenden Sie die Basisressourcen (Einschränkungen und Statistiken), um den Echtzeitverkehr zu vergleichen. Laden Sie in diesem Beispiel das Trainingsdatenset hoch, mit dem das in diesem Beispiel enthaltene vortrainierte Modell trainiert wurde. Wenn es bereits in Amazon S3 vorhanden ist, können Sie direkt darauf verweisen.

# copy over the training dataset to Amazon S3 (if you already have it in Amazon S3, you could reuse it) baseline_prefix = prefix + '/baselining' baseline_data_prefix = baseline_prefix + '/data' baseline_results_prefix = baseline_prefix + '/results' baseline_data_uri = 's3://{}/{}'.format(bucket,baseline_data_prefix) baseline_results_uri = 's3://{}/{}'.format(bucket, baseline_results_prefix) print('Baseline data uri: {}'.format(baseline_data_uri)) print('Baseline results uri: {}'.format(baseline_results_uri))
training_data_file = open("test_data/training-dataset-with-header.csv", 'rb') s3_key = os.path.join(baseline_prefix, 'data', 'training-dataset-with-header.csv') boto3.Session().resource('s3').Bucket(bucket).Object(s3_key).upload_fileobj(training_data_file)

Erstellen Sie einen Modellüberwachungsplan für den Endpunkt anhand der Baseline-Einschränkungen und -Statistiken zum Vergleich mit Echtzeitdatenverkehr.

from sagemaker.model_monitor import CronExpressionGenerator from time import gmtime, strftime mon_schedule_name = 'DEMO-xgb-churn-pred-model-monitor-schedule-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) my_default_monitor.create_monitoring_schedule( monitor_schedule_name=mon_schedule_name, endpoint_input=predictor.endpoint, post_analytics_processor_script=s3_code_postprocessor_uri, output_s3_uri=s3_report_path, statistics=my_default_monitor.baseline_statistics(), constraints=my_default_monitor.suggested_constraints(), schedule_cron_expression=CronExpressionGenerator.hourly(), enable_cloudwatch_metrics=True, )

Beschreiben und inspizieren Sie den Zeitplan: Nachdem du es beschrieben hast, beobachte, dass derMonitoringScheduleStatusinMonitoringScheduleSummary Zurückgegeben von derListMonitoringSchedulesAPI-Änderungen inScheduledaus.

desc_schedule_result = my_default_monitor.describe_schedule() print('Schedule status: {}'.format(desc_schedule_result['MonitoringScheduleStatus']))