[問題] 網站載入(訓練好的)模型時間過久解法

作者: Lucien7 (Somewhere I Belong)   2018-11-18 15:41:09
各位前輩好:
小弟和同學架設了一個網站
內容是可以從使用者輸入的資料中,
(該資料為某項商品的資料,例如價格、項目
圖片、描述等等)
去判斷該商品在拍賣網站成交的機率。
架構大致上為:
使用者在html上輸入資料→node.js接收資料
→先傳送到mysql儲存→node.js會在呼叫python
→python再去mysql讀取資料
→python讀取完資料後,會載入我們預先訓練好的模型
並將資料預處理後,進行預測,傳回預測的成交機率
→node.js再將該機率回傳至網頁顯示
說明:
1.以上架構的檔案全放在amazon的免費雲端空間中(linux)
2.訓練好的模型來自於kaggle競賽的題目,我們採用
了keras.layers.concatenate 將各種不同的特徵/text/圖片
連結起來,再加上一些dense層組成一個神經網路的架構,
最後使用keras的save來保存模型,
然後再每次使用者查詢時,都會啟動一次python去載入
(load_model)模型來預測
問題:
因為每次python都要先去載入模型之後才能預測
所花費時間太久,導致一個機率都要花5~10秒才能顯示
是否有辦法可以在linux讓python程式持續啟動,
讓那些模組/模型可以先載入好,只需要等傳入要預測的
檔案後,就可以直接計算呢?
PS.
若有興趣可連結網址:
http://103-quicksell.iii.wpj.tw:1337/
建議使用chrome,且各欄位都需要填寫
網站還在測試階段,有時候會斷線
請鞭小力點XD
作者: ok963963ok (冷月無痕)   2018-11-18 15:44:00
之前做驗證碼識別是直接啟動一個web service,然後初始化時載入model,就不用每次用都要載入
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2018-11-18 16:17:00
web service直接用python(flask django hug......) 架XD又或者 直接起一個api service nodejs去call
作者: jackwang01 (艾斯比那)   2018-11-19 01:15:00
在啟動網站的時候就先載入
作者: bugbug777 (sil)   2018-11-20 16:40:00
網站掛了
作者: Lucien7 (Somewhere I Belong)   2018-11-22 02:14:00
非常感謝各位大大的建議,因為目前web server已經使用node架設,但node還沒有找到可以預先載入model的方法 XD

Links booklink

Contact Us: admin [ a t ] ucptt.com