我在Sagemaker中部署了基于tensorflow / keras的CNN模型。
现在要调用推断,我遵循了这个tutorial
下面的代码段
def inferImage(endpoint_name):
# Load the image bytes
img = open('./shoe.jpg', 'rb').read()
runtime = boto3.Session().client(service_name='sagemaker-runtime')
# Call your model for predicting which object appears in this image.
response = runtime.invoke_endpoint(
EndpointName=endpoint_name,
ContentType='application/x-image',
Body=bytearray(img))
response_body = response['Body']
print(response_body.read())
运行此代码时,出现错误
Unsupported content-type application/x-image
我想念什么?关于如何解决它的任何建议?
答案 0 :(得分:1)
您是否使用了SageMaker python sdk? 如果是,则可以参考此自述文件https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/tensorflow/deploying_python.rst 并提供您自己的input_fn()来处理应用程序/ x图像数据。
如果您未在用户脚本中提供自定义的input_fn(),则默认的input_fn仅能处理3种类型:“ application / json”,“ text / csv”和“ application / octet-stream”