gpt4 book ai didi

python - 在 sagemaker 上的 tensorflow 上接收错误,因为输入必须是向量,形状为 : [1, 2]

转载 作者:行者123 更新时间:2023-12-04 04:18:23 26 4
gpt4 key购买 nike

我在 Sagemaker 上构建了一个 tensorflow 模型。该模型使用通用句子编码器

import json
class MixEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.ndarray):
return obj.tolist()
return json.JSONEncoder.default(self, obj)

serialize_data = json.dumps({'input1': np.array(("Hello","World")) } , cls = MixEncoder )
print(serialize_data)

response = client.invoke_endpoint(EndpointName=endpoint_name,ContentType='application/json' ,Body=serialize_data)--

这一行抛出错误

ModelError: An error occurred (ModelError) when calling the InvokeEndpoint operation: Received client error (400) from model with message "{ "error": "input must be a vector, got shape: [1,2]\n\t

The model expects only one tensor as input . It is defined as input_model_placeholder = tf.placeholder(tf.string, shape=[None], name="tensor_input_model_1").

请帮忙

最佳答案

我不熟悉 Sagemaker,但这看起来像是试图将句子作为单词向量传递的常见错误,而通用句子编码器应该采用完整的句子。此外,Sagemaker 似乎正在对结果进行批处理,因为示例代码传递了一个形状为 (2,) 的数组,但错误约为 (1, 2)。

试试这个:

json.dumps({'input1': np.array("Hello World")}, cls=MixEncoder)

关于python - 在 sagemaker 上的 tensorflow 上接收错误,因为输入必须是向量,形状为 : [1, 2],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60015562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com