I built a Sagemaker endpoint that I am attempting to evoke using Lambda+API Gateway. I’m getting the following error:
"An error occurred (ModelError) when calling the InvokeEndpoint operation: Received client error (400) from model with message "unable to evaluate payload provided"
I know why what it’s complaining about, but I don’t quite understand why it’s occuring. I have confirmed that the shape of the input data of my lambda function is the same as how I trained the model. The following is my input payload in lambda:
X = pd.concat([X, rx_norm_dummies, urban_dummies], axis = 1) payload = X.to_numpy() response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME, ContentType='application/json', Body=payload)
In the jupyter notebook where I created my endpoint/trained my model, I can also access the model using a numpy ndarray so I’m confused why I’m getting this error.
y = X[0:10] result = linear_predictor.predict(y) print(result)
Here is a modificaiton I make to serialization of the endpoint:
from sagemaker.predictor import csv_serializer, json_deserializer linear_predictor.content_type = 'text/csv' linear_predictor.serializer = csv_serializer linear_predictor.deserializer = json_deserializer
I’m new when it comes to Sagemaker/Lambda, so any help would be appreciated and I can send more code to add context if needed.
Source: Python Questions