Я пытаюсь извлечь компонент PCA из fmat
матрица m
(67584 x 396) с использованием princomp
функция библиотеки Армадилло.
С кодом ниже:
fmat eigenVec, score;
fvec eigenVal, t;
princomp(eigenVec, score, eigenVal, t, trans(m));
Я получаю эту ошибку:
error: arma::memory::acquire(): out of memory
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Тем не менее, в других частях кода я управляю матрицами больше, чем эта (m
).
Я запускаю этот код на: Debian, 8 ГБ памяти.
РЕДАКТИРОВАТЬ: у меня была эта ошибка
error: Mat::init(): requested size is too large
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::init(): requested size is too large
раньше, и я изменил файл config.hpp для разрешения (как в C ++ — платформа для вычисления PCA (кроме броненосца))
Задача ещё не решена.