从光线服务实例发送响应对象中的图像

问题描述

我正在尝试将图像发送到 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 (将#修改为@)