Openface Flask Wrapper:Flask似乎阻塞了一个线程

时间:2016-05-27 19:52:35

标签: python multithreading python-2.7 flask torch

我正在尝试围绕openface api编写一个小瓶子REST API包装器,这样我就可以POST将我的烧瓶服务器的URL映像并让它运行图像与分类器模型的比较< / p>

app = Flask(__name__)
@app.route('/compare', methods=['POST'])
def compare():
    # create arguments object with default classifier and neural net
    args = CompareArguments(image)
    image = request.json['image']
    args.imgs = image
    align = openface.AlignDlib(args.dlibFacePredictor)
    net = openface.TorchNeuralNet(args.networkModel, imgDim=args.imgDim, cuda=args.cuda)
    # call openface and compare image to classifier
    infer(args, align, net)
    return jsonify({'image': image}), 201

if __name__ == '__main__':
    app.run(host='0.0.0.0', threaded=True)

如果我发布这样的图像

curl -i -H "Content-Type: application/json" -X POST http://localhost:5000/compare -d '{"image": [ "../images/examples/clapton-1.jpg"]}'

创建了一个新的火炬进程,可以在ps -aux的输出中看到,但似乎被阻止了,因为在重新加载服务器之前它不会运行

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  18184  3284 ?        Ss   18:46   0:00 /bin/bash
root       188  3.5  2.4 676060 98320 ?        S    19:35   0:00 python ./app.py
root       197 98.7  1.5 202548 62388 ?        R    19:35   0:08 /root/torch/install/bin/luajit -e package.path="/root/.luarocks/share/lua/5.1/?.lua;/root/.luarocks/share/lua/5.1/?/init.lua;/root/torch/install
root       211 39.2  1.5 202548 60908 ?        R    19:36   0:01 /root/torch/install/bin/luajit -e package.path="/root/.luarocks/share/lua/5.1/?.lua;/root/.luarocks/share/lua/5.1/?/init.lua;/root/torch/install

似乎火炬过程被烧瓶阻塞了?我已启用线程并尝试增加进程数。我不确定是什么阻止了这个过程?有没有什么方法可以调试Flask中的线程所需的额外配置?

0 个答案:

没有答案