我最近建立了一个网站,用户可以在其中上传照片,然后会有POST请求发送到后端,以进一步预测照片。目前,网络的使用情况就像...某人在其电话中打开浏览器,用手机拍照并上传。因此,基本上,网络是在手机的浏览器上运行,而不是在计算机上运行。
后端:GPU驱动的机器(1080 Ti * 2)上托管的keras + flask + gunicorn + nginx
我的问题是..就速度而言,这是一个好的架构吗? 我听说有人说POST请求会很慢,因为通过http发送照片很慢。
我想知道使用Tensorflow.js在客户端加载模型是否是更好的选择?看起来很棒,因为不需要将照片发布到后端,但这也意味着不会使用我的GPU? 我在互联网上进行搜索,但找不到任何参考或比较
谢谢!
答案 0 :(得分:0)
有许多变量需要考虑。关键是您希望每分钟服务多少用户请求。如您所说,系统中的瓶颈将是“预测”。预测速度将取决于许多因素,例如图像分辨率和算法复杂度。您应该做一些简单的测试。为您要进行的预测类型建立算法,例如分类,检测,分割等。可以使用平衡速度与性能的备用算法。它会给您一种可能的感觉。从内存上,在一台1080ti gpu机器上,ssd检测算法对高分辨率图像的花费少于1秒(甚至可能为0.2秒)。建立系统图,识别关键风险并针对已识别的风险执行测试。