我正在尝试在 tensorflow + flask + uWSGI 中使用MTCNN部署人脸检测服务。我的部署基于这个 docker并添加了这个自定义uwsgi.ini:
[uwsgi]
module = main
callable = app
enable-threads = true
cheaper = 2
processes = 16
threads = 16
http-timeout = 60
但是当我尝试使用我刚刚构建的这个 docker 图像进行人脸检测时,我总是得到504 Gateway Time-out. 实际上,当我深入挖掘时,我注意到代码在此 session.run 行中运行良好:
for op_name in data_dict:
with tf.variable_scope(op_name, reuse=True):
for param_name, data in iteritems(data_dict[op_name]):
try:
var = tf.get_variable(param_name)
session.run(var.assign(data))
except ValueError:
if not ignore_missing:
raise
一开始,我以为是uwsgi worker下线程的问题,于是我增加了进程数和线程数,但没有成功。
当我使用 Flask 调试器运行相同的代码时,它运行得很好并且在不到一秒的时间内处理了图像。所以这不是代码的问题,而是配置或这些工具组合的问题。
撒科打诨
绝地无双
相关分类