如何解决从光线服务实例发送响应对象中的图像
我正在尝试将图像发送到 Ray 服务实例并将其取回。我认为它确实发送了图像,但我想确保一切顺利,所以我试图在响应中将其发回。
这是我向服务器发送请求的方式
with open(test_filepath,'rb') as f:
image_data = base64.b64encode(f.read()).decode()
print(type(image_data))
response = requests.post("http://127.0.0.1:8080/infer",data=image_data)
打印语句的输出是 <class 'str'>
所以我应该发送一个字符串。
以下是我在我的光线服务脚本 (client.create_backend("infer",api_infer)
) 中处理 Flask.Request 的方式:
def api_infer(request):
app = Flask(__name__)
with app.app_context():
return jsonify({
"json": request.data
})
这是我从服务器收到的:
TypeError: Object of type \'bytes\' is not JSON serializable.
我不明白。已经接收到的数据应该仍然是一个字符串。如果 request.data
是字节,我也尝试将其转换为字符串,在 base64.b64encode(request.data).decode()
中使用 api_infer
但我没有成功。它返回一个 Internal Error
。
我不知道该怎么做,也不知道要阅读哪些文档。我在 ray 文档中没有找到任何内容,我也不了解 Flask 文档。
编辑:我使用的文档 https://docs.ray.io/en/latest/serve/tutorials/pytorch.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。