【发布时间】: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