Я работаю над проектом машинного обучения на Java, который будет включать в себя очень большую модель (выходной векторной машины поддержки для тех из вас, кто знаком с ней), которая будет должны быть получены довольно часто для использования конечным пользователем. Основная часть модели состоит из большого двумерного массива довольно маленьких объектов.Эффективность жесткого кодирования и ввода файлов
К сожалению, я не знаю точно, насколько велика модель (я уже работал с эталонными данными, и данные, которые я собираюсь использовать, еще не готовы), ни я знаю характеристики машины, на которой он будет работать, так как это тоже в воздухе.
У меня уже есть способ записать модель в файл как строку, но процесс записи занимает много времени, и процесс чтения занимает большую часть минуты. Я хотел бы сократить это время, поэтому у меня была либо яркая, либо безумно запутанная идея написать модель в .java-файл таким образом, чтобы ее можно было скомпилировать, а затем запустить, чтобы создать полностью сформированную модель.
Мои вопросы для вас: сохранение и компиляция модели в Java значительно быстрее, чем чтение ее из файла, в предположении, что модель имеет размер около 1 МБ? И есть ли какая-то причина, по которой я еще не видел, что это может быть фантастически глупая идея, что я не должен преследовать ни при каких обстоятельствах?
Благодарим вас за любые идеи, которые вы можете мне дать.
EDIT: по-видимому, попытка автоматически записать несколько тысяч значений в код делает метод, который примерно на два порядка больше, чем может обрабатывать компилятор. Хорошо, живите и учитесь.
Структура данных для модели уже существует; Я расширяю существующий класс без добавления полей (svm_class из библиотеки LibSVM, который был написан на C и переведен на Java, поэтому ему не хватает методов-членов). – CosmicComputer
Любой шанс, что он реализует Serializable? –
Он делает, но на самом деле ничего не делает с этим. – CosmicComputer