我正在构建用于部署深度学习模型的API服务器。我在构建API方面很新。
我目前的方法是使用Falcon托管API服务器,该服务器应接收来自客户端的POST请求。
每个POST请求都包含来自摄像机的帧,OpenCV读取该帧。 API应该返回每个帧的预测。
该服务器受GPU支持,因此处理图像大约需要0.1s,但是我担心通过POST请求上传每一帧会花费很长时间。我希望整个过程(上传图片->服务器进程->发送文本结果)可以在0.15〜0.2s之内。
那么这将是为视频流部署深度学习模型的好方法吗?如果没有,您会提出什么建议?
另外,当我尝试发布示例图像时遇到错误:
import requests
import cv2
url = "http://127.0.0.1:8000/predict"
img = cv2.imread('./sample.jpg')
imencoded = cv2.imencode(".jpg", img)[1]
file = {'image': ('image.jpg', imencoded.tostring(), 'image/jpeg', {'Expires': '0'})}
req = requests.post(url, files=file)
ConnectionError: ('Connection aborted.', BrokenPipeError(32, 'Broken pipe'))