Мой сайт будет использовать нейронную сеть для прогнозирования на основе пользовательских данных. Пользователь может выбрать данные, которые будут использоваться при обучении сети, а затем использовать свою обученную сеть для предсказания вещей.
Я использую инфраструктуру для создания, обучения и опроса сетей. Это использует Java. Каркас имеет постоянство для сохранения сети в файл XML.
Как лучше всего хранить эти файлы? Я вижу несколько потенциальных идей, но мне нужна помощь в выборе лучшего:
- Сохраните каждую сеть в отдельный файл XML с именем, которое хранится в базе данных. Загрузите это каждый раз.
- Сохраните все сети в один и тот же XML-файл, причем каждая сеть имеет свое имя, которое хранится в базе данных.
- Каким-то образом передать то, что обычно записывается в файл XML, на сайт Django для записи в базу данных. Это необходимо будет вернуть в код Java, когда необходимо сделать прогноз.
Я могу сделать 1 или 2, но я думаю, что их производительность будет весьма ограничена, и я сейчас на виртуальном хостинге, так что я не знаю, насколько они были бы довольны тысячами файлов. Кроме того, после добавления нескольких тысяч записей в один XML-файл я заметил значительный удар по производительности при сохранении в нем.
Если бы я смог каким-то образом реализовать версию 3, я думаю, что это будет лучше. Нет проблем с отдельными процессами доступа к базе данных, и я думаю, что производительность будет лучше. Не говоря уже об отсутствии файлов, лежащих вокруг.
Однако для использования в структуре нейронной сети ( Encog ), которую я использую для сохранения в файл, необходим доступ к объекту Java-файла, а не строка, которую можно сохранить в базе данных. Если здесь нет какой-то магии Java (я знаю очень мало Java), то единственный способ увидеть это - использовать временные файлы, но я не знаю, является ли это правильным способом.
Буду признателен за любые идеи о том, как наилучшим образом реализовать любую из 3 вышеупомянутых идей или любые альтернативы. Спасибо!
Обновление: Поговорив с моим Боссом, мы оба согласились, что идея 3 - лучшая. Это похоже на «правильный» способ сделать это. Я надеюсь, что кто-то может помочь нам в этом. Спасибо.