[英]Gunicorn/flask API to expose an sklearn model not working
我似乎無法弄清楚這一點。 我有一個使用scikit-learn訓練的模型,保存到.pkl文件,我想制作一個基於它的預測API。
我已經有了進行預測的代碼,它可以從控制台/單元測試中運行良好。 為了加快預測,我正在分割數據(數千個圖像補丁)並使用joblib
/ multiprocessing
擴展負載。
我正在設置JOBLIB_START_METHOD=forkserver
因為如果在multiprocessing
處理過程中使用scikit-learn掛起。
我已經使用這個代碼完成了使用flask
的API,並且當使用flask的dev服務器運行時,它工作得很好。 現在我正試圖在gunicorn
flask
托管flask
應用程序,它根本不起作用。
如果我使用默認工作程序,那么它在嘗試預測時只會掛起而沒有錯誤,就像我沒有設置'forkserver'多處理一樣。 我正在像這樣運行gunicorn
:
JOBLIB_START_METHOD=forkserver gunicorn -w 2 -b 0.0.0.0:$PORT --timeout 3600 web.app:app
我也嘗試過使用gevent
后端。 這實際上確實有效,但它很慢,它打印出來:
Multiprocessing backed parallel loops cannot be nested below threads, setting n_jobs=1
那么,任何關於讓多個網絡工作者運行的方法(我不認為這是燒瓶的開發服務器的情況)和一個能夠利用joblib
/ multiprocessing
的請求的joblib
? 謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.