【问题标题】:Getting byte type object in prediction在预测中获取字节类型对象
【发布时间】:2023-01-24 04:29:47
【问题描述】:

我正在获取从数据预测函数返回的字节类型值。

from sagemaker.predictor import Predictor
from sagemaker.serializers import CSVSerializer
from sagemaker.deserializers import JSONDeserializer

predictor1 = Predictor(endpoint_name=predictor.endpoint_name, serializer=CSVSerializer(), deserializers = CSVDeserializer())

result = predictor1.predict(data)
print(type(result))
print(result)

<类'字节'> b'{“概率”:[[0.9999768137931824,2.3188162231235765e-05]]}'

【问题讨论】:

  • 有没有办法让模型在预测中不返回字节。我知道我可以对返回的值使用 decode('utf-8') 使其成为字典对象,但是如何使它返回非字节值

标签: machine-learning prediction amazon-sagemaker endpoint


【解决方案1】:

您使用 predict 方法的方式,输出以字节为单位传递。但是您不必使用 sagemaker 功能来解决问题。

只需使用 decode()eval() 即可正确检索参数:

decoded_string = result.decode('utf-8')
json_from_string = eval(decoded_string)
print(json_from_string['probabilities'][0])

输出将是:

[0.9999768137931824, 2.3188162231235765e-05]

【讨论】:

    猜你喜欢
    • 2019-12-13
    • 1970-01-01
    • 2012-03-09
    • 2022-06-12
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 2021-09-26
    相关资源
    最近更新 更多