2017-02-08 71 views
1

我有一個我在請求中實例化的類(它是一個加載並需要一點時間才能在啓動時配置的ML模型)。這個想法是隻做一次,並讓每個請求都使用模型進行預測。 gunicorn每次都會實例化應用程序嗎?gunicorn和共享變量如何工作

也就是說,每當有新的請求進入時模型都會重新訓練?

+0

您可以將其存儲在全局應用程序中,或者將其存入應用程序並將其放入redis – reptilicus

+0

等待,爲什麼不導入經過訓練的模型?我很困惑... – reptilicus

回答

1

這聽起來像你可以從應用程序預加載受益:

http://docs.gunicorn.org/en/stable/settings.html#preload-app

這將讓你分拆的工人之前加載的應用程序代碼。

+0

聽起來很有用。所以,這意味着它會爲每個請求建立一個新模型? –

+0

在分離工作者實例之前,它將在服務器上進行一些活動,以便它們都具有相同的訪問權限。我不完全確定它是一個共享對象還是它只是一個副本,只是傾倒到每個工人。當我們有代碼讓我們在x次請求後拋棄工人時,我發現它非常有用。 – Kelvin