我的网站将使用神经网络根据用户数据预测事物。用户可以选择要用于训练网络的数据,然后使用他们的训练网络来预测事情。保存文件或数据库记录? 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