У меня есть матрица размером около 11 000 x 1 000, сохраненная в формате csv. Загружается целую вечность.
Какой самый быстрый (или рекомендуемый) формат для сохранения матриц?
У меня есть матрица размером около 11 000 x 1 000, сохраненная в формате csv. Загружается целую вечность.
Какой самый быстрый (или рекомендуемый) формат для сохранения матриц?
Откуда берутся данные?
Давным-давно, когда я учился в аспирантуре, я сгенерировал данные моделирования и результаты в программе на C++. Поскольку я владел данными, я написал процедуру для записи данных матрицы в двоичном формате, ожидаемом Octave. --- и чтение какой точки выполняется довольно быстро, поскольку оно становится одним вызовом fread
.
Не забудьте опцию -binary. Например,
save -binary myfile.mat X Y Z; % save X, Y, and Z matrices to myfile.mat
load myfile.mat; % load X, Y, and Z matrices from myfile.mat
Когда я забыл использовать опцию -binary, моя матрица двойников размером 80 000 x 402 загружалась более 22 минут. С опцией -binary это заняло менее 2,5 секунд.