当前位置: 首页 > 知识库问答 >
问题:

AWS Sagemaker, InvokeEndpoint操作,模型错误:"设置具有序列的数组元素."

璩涵衍
2023-03-14

我正在尝试调用以前部署在Amazon SageMaker上的Endpoint。这是我的密码:

import numpy as np
import boto3

client = boto3.client('sagemaker-runtime')

def np2csv(arr):
    csv = io.BytesIO()
    np.savetxt(csv, arr, delimiter=',', fmt='%g')
    return csv.getvalue().decode().rstrip()

endpoint_name = 'DEMO-XGBoostEndpoint-2018-12-12-22-07-28'
test_vector = np.array([3.60606061e+00, 
                        3.91395664e+00, 
                        1.34200000e+03, 
                        4.56100000e+03,
                        2.00000000e+02, 
                        2.00000000e+02]) 
csv_test_vector = np2csv(test_vector)

response = client.invoke_endpoint(EndpointName=endpoint_name,
                               ContentType='text/csv',
                               Body=csv_test_vector)

下面是我得到的错误:

ModelErrorTraceback(最近一次调用最后一次)在()1 response=client中。调用endpoint(endpoint名称=endpoint名称,2 ContentType='text/csv'----

/home/ec2-user/anaconda3/envs/python2/lib/python2.7/site-packages/botocore/client.pyc在_api_call(自己,*args,**kwargs)318"%s()只接受关键字参数。"%py_operation_name)319#此范围中的自我指的是BaseClient。--

/home/ec2用户/anaconda3/envs/python2/lib/python2。7/站点包/botocore/客户端。pyc在调用api时出错(self、operation、api参数)621错误代码=解析的响应。获取(“错误”,{})。获取(“代码”)622错误\u class=self。例外情况。源代码(错误代码)--

ModelError:调用InvokeEndpoint操作时发生错误(ModelError):收到来自Model的客户端错误(415),html" target="_blank">消息为“设置具有序列的数组元素”。请参阅https://us-east-1.console.aws.amazon.com/cloudwatch/home?region=us-east-1#logEventViewer: group=/aws/sagemaker/Endpoint/DEMO-XGBoostEndpoint-2018-12-12-22-07-28帐户249707424405了解更多信息。

共有1个答案

聂永怡
2023-03-14

这项工作:

import numpy as np
import boto3

client = boto3.client('sagemaker-runtime')
endpoint_name = 'DEMO-XGBoostEndpoint-2018-12-12-22-07-28'
test_vector = [3.60606061e+00, 
               3.91395664e+00, 
               1.34200000e+03, 
               4.56100000e+03,
               2.00000000e+02, 
               2.00000000e+02]) 

body = ',',join([str(item) for item in test_vector])
response = client.invoke_endpoint(EndpointName=endpoint_name,
                               ContentType='text/csv',
                               Body=body)
 类似资料:
  • 问题内容: 此Python代码: 引发此错误信息: 谁能告诉我该怎么办才能解决上面破碎的代码中的问题,以便停止抛出错误消息? 编辑: 我做了一个打印命令来获取矩阵的内容,这就是它打印出来的内容: 对我来说,这看起来像是5行乘13列的矩阵,但是当通过脚本运行不同的数据时,行数是可变的。使用我要添加的相同数据。 编辑2:但是,脚本抛出错误。因此,我认为您的想法不能解释此处正在发生的问题。谢谢你 还有其

  • 为什么是否返回浮点值?我应该在这里做什么?

  • 问题内容: 我无法弄清楚使用Python 2.7编写的代码存在的问题。我正在将引用转换为ints,但是我不断收到类型异常。有人可以协助吗? 我遇到了操作数异常,即使被比较的两个值在测试时都打印为整数。谁能给我一些反馈?谢谢! 这是异常响应: 问题答案: 您说这是造成麻烦的原因,但实际上您并未显示任何暗示该问题的信息。我认为这是问题所在: 您知道为什么这一行会导致该错误消息吗?你想要 要么 不 您要

  • 对我来说,为json数组编写swagger模型似乎非常简单,例如,如果我有这个数组: 我会为它写以下大摇大摆的模型: 然而,我有以下几点: 我如何为这一个写模型? 提前谢了。

  • 问题内容: 为什么返回浮点数?我在这里应该做什么? 问题答案: 我认为有s值,所以需要指定参数:

  • 问题内容: 我在互联网上找到了这个示例,并且在运行它时遇到了一些问题。 据我所知,我正确地指定了构建命令, 我的意图是使用jikesrvm实际运行它,但是为了进行试验,我选择使用JVM。我得到的错误是: 我注意到用C和C ++实现的不同方式,但我认为我编写正确。 编辑:用gcc编译时,我得到 这是在eclipse中提示的内容,但我认为我的配置不恰当。当我使用它时,它也将我带到了引用的jni.h上,