Amazon SageMaker不支持的内容类型应用程序/ x图像

时间:2019-02-12 04:58:27

标签: amazon-web-services amazon-sagemaker

我在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

我想念什么?关于如何解决它的任何建议?

1 个答案:

答案 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”

在这里抛出异常:https://github.com/aws/sagemaker-tensorflow-container/blob/1e74bc6440cdd7e083d15026869e021c5ab504a4/src/tf_container/serve.py#L239