【问题标题】:AWS SageMaker Pipeline Issue - Pipeline variables do not support __str__ operationAWS SageMaker 管道问题 - 管道变量不支持 __str__ 操作
【发布时间】:2022-07-01 20:15:12
【问题描述】:

我正在尝试基于 Tensorflow 框架构建 SageMaker Pipeline。我只有训练、评估步骤和注册模型。在评估步骤中,我为 ModelMetrics 声明了 MetricsSource 并收到了错误。

代码如下:

pipeline_model = PipelineModel(
    models=[tf_model],
    role=role, 
    sagemaker_session=sagemaker_session
)

eval_res = step_evaluate_model.arguments['ProcessingOutputConfig']['Outputs'][0]['S3Output']['S3Uri']
evaluation_s3_uri = f'{eval_res}/evaluation.json'

model_statistics=MetricsSource(
        s3_uri=evaluation_s3_uri,
        content_type='application/json')

model_metrics = ModelMetrics(model_statistics=model_statistics)

step_register_pipeline_model = pipeline_model.register(
    content_types=['application/json'],
    response_types=['application/json'],
    inference_instances=['ml.m4.xlarge','ml.c5.2xlarge'],
    transform_instances=['ml.c5.2xlarge'],
    model_package_group_name=model_package_group_name,
    model_metrics=model_metrics,
    approval_status=model_approval_status.default_value,
)

错误:

TypeError                                 Traceback (most recent call last)
Input In [17], in <cell line: 17>()
     14 model_metrics = ModelMetrics(model_statistics=model_statistics)
     15 # print('\n',pipeline_model)
---> 17 step_register_pipeline_model = pipeline_model.register(
     18     content_types=['application/json'],
     19     response_types=['application/json'],
     20     inference_instances=['ml.m4.xlarge','ml.c5.2xlarge'],
     21     transform_instances=['ml.c5.2xlarge'],
     22     model_package_group_name=model_package_group_name,
     23     model_metrics=model_metrics,
     24     approval_status=model_approval_status.default_value,
     25 )
TypeError: Pipeline variables do not support __str__ operation. Please use `.to_string()` to convert it to string type in execution timeor use `.expr` to translate it to Json for display purpose in Python SDK.

你能帮我解决一下吗?我会很感激任何想法。谢谢

【问题讨论】:

    标签: amazon-sagemaker aws-pipeline


    【解决方案1】:

    随着 ModelStep 的引入,他们在 Pipelines 上创建模型和注册模型的方式略有改变,还需要 session_pipeline 的实例化。同样, ModelStep 将用于注册模型。 参考:https://github.com/aws/sagemaker-python-sdk/pull/3076 示例:https://sagemaker.readthedocs.io/en/stable/workflows/pipelines/sagemaker.workflow.pipelines.html?highlight=ModelStep#sagemaker.workflow.model_step.ModelStep

    【讨论】:

      猜你喜欢
      • 2019-03-12
      • 1970-01-01
      • 2016-12-09
      • 2023-01-13
      • 2022-07-27
      • 2020-11-07
      • 2023-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多