【问题标题】:Sagemaker Endpoint returns error when trying to make a prediction in the Sagemaker Notebook Instances尝试在 Sagemaker 笔记本实例中进行预测时,Sagemaker 端点返回错误
【发布时间】:2020-11-06 08:41:29
【问题描述】:

我已经在 sagemaker 上部署了一个推理管道端点,但是现在当我尝试进行预测调用但我收到一条错误消息时,据我所知,我正在遵循此处显示的示例: https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/scikit_learn_inference_pipeline/Inference%20Pipeline%20with%20Scikit-learn%20and%20Linear%20Learner.ipynb

端点调用的代码在这里:

from sagemaker.predictor import json_serializer, csv_serializer, json_deserializer, RealTimePredictor
from sagemaker.content_types import CONTENT_TYPE_CSV, CONTENT_TYPE_JSON

predictor = RealTimePredictor(
    endpoint='Boston-inf-pipeline-July09-endpoint',
    sagemaker_session=sagemaker_session,
    serializer=csv_serializer,
    content_type=CONTENT_TYPE_CSV,
    accept=CONTENT_TYPE_CSV)


from sklearn.pipeline import Pipeline
from sklearn.preprocessing import Binarizer, StandardScaler, OneHotEncoder
from sklearn.impute import SimpleImputer

column_names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV']

dff = pd.read_csv('housing.csv',delimiter=r"\s+", names=column_names)

dff.drop('MEDV',axis=1,inplace=True)

 
#String
x = '0.00632,18.0,2.31,0,0.538,6.575,65.2,4.09,1,296.0,15.3,396.9,4.98'

#DataFrame
y= dff.head(1)

#Array
z = np.array([0.00632,18.0,2.31,0,0.538,6.575,65.2,4.09,1,296.0,15.3,396.9,4.98])

print(predictor.predict(x))**strong text**

这是错误信息:

这是 Cloud Watch 上的内容

【问题讨论】:

    标签: python amazon-web-services machine-learning amazon-sagemaker


    【解决方案1】:

    您的 SageMaker 端点在 cloudwatch 日志的屏幕截图中提出了 ValueError

    ValueError: Found array with 0 sample(s)...
    

    您部署的模型似乎需要不同形状的输入,如Found array with 0 sample(s) (shape=(0, 40)) while a minimum of 1 is required 中所述。

    sagemaker 端点声称您传递的 numpy 输入值的“形状”是 (0, 13),并且很可能期待 (1, 13)。从您的客户端脚本来看,您似乎在传递一个形状为 (13,) 的数组,并最终在 SageMaker 容器中被解释为 (0, 13)

    您能否尝试在您的输入中添加另一个维度,以在您的客户端脚本中制作输入形状 (1, 13)

    z = np.array([[0.00632,18.0,2.31,0,0.538,6.575,65.2,4.09,1,296.0,15.3,396.9,4.98]])
    

    PS:我正在开发一个更快更便宜易于使用的平台来部署sklearn 模型https://modelzoo.dev。您可能很适合我们的私人 Beta 版计划 - 请联系 contact@modelzoo.dev,我可以帮助您进行设置。

    【讨论】:

    • 虽然添加另一个维度并不是最终的解决方法,但根据您对输入形状的观察,我对代码进行了调整,现在它的修复和错误消失了!缺点是现在我遇到了一个新错误:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    相关资源
    最近更新 更多