AWS Sagemaker。如何将 data_capture_config 参数传递给 Pipeline?

问题描述 投票:0回答:1

我正在尝试监控我的数据,因此我需要使用 Sagemaker 中的 DataCaptureConfig 对象。重点是我正在使用包含所有步骤的 Pipeline 对象。在 documentation 中,使用 DataCaptureConfig 的唯一方法似乎是在 Model.deploy() 步骤中传入,但我无权访问此步骤,因为我正在使用 Pipeline。还有其他办法吗?

我无法在 Sagemaker 的 python SDK 源代码中找到文档、示例或一些说明。

amazon-web-services amazon-sagemaker
1个回答
0
投票

您使用数据捕获进行批量推理还是实时推理?对于 Batch,您可以参考以下示例:https://github.com/aws-samples/amazon-sagemaker-mlops-batch/blob/main/2.SageMakerPipeline-ModelMonitoring-DataQuality-BatchTransform.ipynb。您可以在此处定义转换和监视步骤并将数据质量配置传递到此步骤。

job_config = CheckJobConfig(role=role)
data_quality_config = DataQualityCheckConfig(
    baseline_dataset=transform_input_param,
    dataset_format=DatasetFormat.csv(header=False),
    output_s3_uri=batch_monitor_reports_output_path,
)

from sagemaker.workflow.monitor_batch_transform_step import MonitorBatchTransformStep

transform_and_monitor_step = MonitorBatchTransformStep(
    name="MonitorCustomerChurnDataQuality",
    transform_step_args=transform_arg,
    monitor_configuration=data_quality_config,
    check_job_configuration=job_config,
    monitor_before_transform=True,
    # if violation is detected in the monitoring, you can skip it and continue running batch transform
    fail_on_violation=False,
    supplied_baseline_statistics=lambda_getmodel_step.properties.Outputs["s3uriStatistics"],
    supplied_baseline_constraints=lambda_getmodel_step.properties.Outputs["s3uriConstraints"],
)

对于参数,您可以传入类似于以下代码的任何要注入的元数据:

from sagemaker.workflow.parameters import (
    ParameterBoolean,
    ParameterInteger,
    ParameterString,
)
© www.soinside.com 2019 - 2024. All rights reserved.