我的網站將使用神經網絡根據用戶數據預測事物。用戶可以選擇要用於訓練網絡的數據,然後使用他們的訓練網絡來預測事情。保存文件或數據庫記錄? Java和Python
我正在使用框架來創建,訓練和查詢網絡。這使用Java。該框架具有將網絡保存到XML文件的持久性。
什麼是存儲這些文件的最佳方式?我可以看到一些潛在的想法,但我需要選擇幫助是最好的:
- 保存每個網絡與存儲在數據庫中的名稱的單獨的XML文件。每次加載這個。
- 將所有網絡保存到同一個XML文件,每個網絡具有存儲在數據庫中的不同名稱。
- 以某種方式將通常寫入XML文件的內容傳遞給Django站點以寫入數據庫。這需要在需要進行預測時返回到Java代碼。
我可以做1或2,但我認爲他們的表現會相當有限,而且我現在在共享主機上,所以我不知道他們對成千上萬的文件會有多高興。另外,在向一個XML文件添加幾千條記錄之後,我注意到在保存到該文件時存在巨大的性能損失。
如果我能夠以某種方式實現版本3,我認爲這將是最好的。沒有單獨的進程訪問數據庫的問題,我認爲性能會更好。更別說沒有文件了。
但是,我使用的神經網絡框架中的東西(Encog)用於保存到文件需要訪問Java文件對象,而不是可以保存到數據庫的字符串。除非有一些我可以在這裏做的Java魔術(我知道Java很少),但我可以看到做這個的唯一方法是使用臨時文件,但我不知道這是否是正確的方法。
我希望有關實現上述3個想法或任何替代方案的最佳途徑的任何想法。謝謝!
更新:在與我的老闆交談後,我們都同意主意3是最好的。這似乎是「正確」的做法。我希望有人能幫助我們解決這個問題。謝謝。
也許你可以閱讀關於jython的jython和django,以便將webapp與你的框架進行通信? – diegueus9 2010-04-14 18:46:48