Производительность матио

Я пытаюсь прочитать набор данных MNIST (размер 784 * 60000), моя реализация чтения двоичного формата MNIST занимает около 20 секунд, но я пытался использовать библиотеку Matio для чтения того же набора данных в формате .mat, и это занимает гораздо больше времени около 4~5 мин. вот как я пытаюсь прочитать файл мата. Я делаю что-то неправильно?

Матричная структура

struct Matrix {
size_t col;
size_t row;
float *members;

Matrix() {
  members = NULL;
  col = 0;
  row = 0;
}
};

Чтение мат-файла

mat_t *openmatfp;
matvar_t *mymat;
Matrix matrix;
openmatfp = Mat_Open("trainingdata.mat",MAT_ACC_RDONLY);
matrix.row = mymat->dims[0];
matrix.col = mymat->dims[1];
matrix.elements = new float[matrix.row * matrix.col];
memcpy(matrix.members, mymat->data,mymat->nbytes);//problem should be here!

person HadiRj    schedule 17.01.2014    source источник


Ответы (1)


Код, который вы показываете, не устанавливает mymat.

Вам нужно что-то вроде: mymat = Mat_VarRead(openmatfp, "MatrixName");

person bricerive    schedule 09.10.2014