AWS 笔记本实例正在运行,但 Lambda 不接受输入

AWS Notebook Instance is working but Lambda is not accepting the input

我在自己的电脑上使用 pycharm/tensorflow 开发了一个 ANN 工具。我通过创建笔记本实例将 h5 和 json 文件上传到 Amazon Sagemaker。我终于能够成功地创建一个端点并使其工作。 Notebook Instance -Jupyter 中的以下代码有效:

import json
import boto3
import numpy as np
import io
import sagemaker
from sagemaker.tensorflow.model import TensorFlowModel
client = boto3.client('runtime.sagemaker')
data = np.random.randn(1,6).tolist()
endpoint_name = 'sagemaker-tensorflow-**********'
response = client.invoke_endpoint(EndpointName=endpoint_name, Body=json.dumps(data))
response_body = response['Body']
print(response_body.read())

但是,当我创建一个 lambda 函数并从那里调用端点时出现问题。输入应该是一行 6 个特征 - 即一个 1×6 向量。我在 lambda {"data":"1,1,1,1,1,1"} 中输入以下输入,它给了我以下错误:

Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 20, in lambda_handler
    Body=payload)
  File "/var/runtime/botocore/client.py", line 316, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/var/runtime/botocore/client.py", line 635, in _make_api_call
    raise error_class(parsed_response, operation_name)

我认为问题在于输入需要是 1×6 而不是 6×1,我不知道该怎么做。

我假设您指定的内容类型是 text/csv,所以试试:

{"data": ["1,1,1,1,1,1"]}