![](/img/trans.png)
[英]how to run a batch transform job in sagemaker pipeline via custom inference code?
[英]How to return a float with 'text/csv' as "Content-Type" from SageMaker endpoint that uses custom inference code?
我正在尝试使用“text/csv”或“text/csv”从 SageMaker 端点返回输出(或预测); charset=utf-8' 作为“内容类型”。 我尝试了多种方法,但 sagemaker 总是返回 'text/html; charset=utf-8' 作为“Content-Type”,我希望 SageMaker 返回 'text/csv' 或 'text/csv; 字符集=utf-8'。
这是我的推理代码中的output_fn
:
** my other code **
def output_fn(prediction, content_type='text/csv'):
** my other code **
return output_float
以上 function 返回具有浮点数据类型的数字,我得到错误(在 cloudwatch 日志中),这个 function 应该只返回字符串、元组、字典或响应实例。
因此,这是我尝试让 SageMaker 使用“text/csv”返回我的号码但只接收“text/html;”的所有不同方式。 字符集=utf-8'
return json.dumps(output_float)
。 这发送了'text/html; 字符集=utf-8'。return f"{output_float}"
。 这发送了'text/html; 字符集=utf-8'。return f"{output_float},"
。 这发送了'text/html; 字符集=utf-8'。return f"{output_float}\n"
。 这发送了'text/html; 字符集=utf-8'。return f"{output_float},\n"
。 这发送了'text/html; 字符集=utf-8'。sagemaker.serializers.CSVSerializer
: from sagemaker.serializers import CSVSerializer csv_serialiser = CSVSerializer(content_type='text/csv') def output_fn(prediction, content_type='text/csv'): ** my other code ** return csv_serialiser.serialize(output_float)
我得到'NoneType' object has no attribute 'startswith'
错误。return (output_float,)
。 我没有记下它做了什么,但它确实没有返回带有“文本/csv”作为“内容类型”的数字。.predict_proba
时返回一个浮点数,并在不使用任何自定义推理代码的情况下从 sagemaker studio 部署它,并从 SageMaker studio 部署它。 但在向端点发送请求后出现此错误: 'NoneType' object has no attribute 'startswith'
,但在我这边,当我将适当的输入传递给未选中的 model 和 call.predict_proba 时,我得到了预期的浮动。flask.Response
是这样的: from flask import Response def output_fn(prediction, content_type='text/csv'): ** my other code ** return Response(response=output_float, status=200, headers={'Content-Type':'text/csv; charset=utf-8'})
但是,我得到了一些 IndexError(我没有记下回溯。)其他一些信息:
如何从 sagemaker 返回内容类型为“text/csv”的数字? 我需要 output 的“文本/csv”内容类型,专门用于模型质量监视器。 我该怎么做呢?
在scikit_bring_your_own示例中,我建议通过如下设置响应来进行测试:
return flask.Response(response= output_float, status=200, mimetype="text/csv")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.