【发布时间】:2021-09-09 11:26:53
【问题描述】:
我正在尝试托管我在 AWS Sagemaker 端点上本地训练的 XGBoost 模型,但在调用端点时收到以下错误:
调用 InvokeEndpoint 操作时发生错误 (InternalFailure)(达到最大重试次数:4):向模型发送请求时发生异常。有关请求,请联系客户支持。
模型在本地按预期工作,我在上传到 S3 之前使用以下内容保存它:
model.fit(args)
model.save_model(model_save_loc)
model_tar_loc = model_save_loc + '.tar.gz'
!tar czvf $model_tar_loc $model_save_loc
我通过 MultiDataModel 函数托管模型,
container = retrieve("xgboost", region, "1.3-1")
mme = MultiDataModel(
name=model_name,
role=role,
model_data_prefix=model_data_prefix,
image_uri=container,
sagemaker_session=sagemaker_session,
)
predictor = mme.deploy(
initial_instance_count=1, instance_type=instance_type, endpoint_name=model_name,
)
MultiDataModel 部署按预期工作,没有错误,如果我这样做了:
list(mme.list_models())
它返回预期的模型列表:
model_1.tar.gz
model_2.tar.gz
etc..
我使用以下方法调用模型:
runtime_client = boto3.client("runtime.sagemaker")
response = runtime_client.invoke_endpoint(
EndpointName="model_name", ContentType="text/csv", Body=payload, TargetModel='model_1.tar.gz'
)
result = response["Body"].read().decode("ascii")
我尝试了各种创建有效负载的方法,但都没有改变错误消息。
本地 XGBoost 模型使用 XGBoost 1.3.1 版本(与 Docker 版本相同)进行训练。
CloudWatch 仅提供以下功能:
2021-06-26 10:48:36,865 [INFO] pool-1-thread-1 ACCESS_LOG - /10.32.0.2:37106 "GET /ping HTTP/1.1" 200 0
按照错误提示,无法通过基本计划联系客户支持。
【问题讨论】:
标签: python amazon-web-services machine-learning xgboost amazon-sagemaker