mlpack : индекс выходит за пределы в FFN‹›

У меня есть этот код:

#include<mlpack/core.hpp>
#include<mlpack/methods/ann/ffn.hpp>
#include<mlpack/methods/ann/layer/linear.hpp>

int main(int argc, char** argv){
    assert(argc==3);
    arma::mat data_in, data_out;
    mlpack::data::Load(argv[1], data_in);
    mlpack::data::Load(argv[2], data_out);

    std::cout<<"creating model"<<std::endl;

    mlpack::ann::FFN<> model;
    model.Add<mlpack::ann::Linear<>>(data_in.n_rows, 10);
    model.Add<mlpack::ann::SigmoidLayer<>>();
    model.Add<mlpack::ann::Linear<>>(10, data_out.n_rows);
    model.Add<mlpack::ann::SigmoidLayer<>>();

    std::cout<<"training started"<<std::endl;

    model.Train(data_in, data_out);

}

Когда я пытаюсь запустить это, я всегда получаю ошибку индекса за пределами:

creating model
training started

error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
  what():  Mat::operator(): index out of bounds
Aborted (core dumped)

Я также проверил учебник по mlpack на nn::FFN‹>, и когда я пытаюсь запустить этот код, он работает совершенно нормально! Набор данных, который я использую здесь, представляет собой набор данных из 10000 строк и 5 столбцов, который при использовании здесь преобразуется в 5 строк и 10000 столбцов, поскольку mlpack рассматривает столбец как точку. Каждое число в наборе данных представляет собой значение от 0 до 1 и генерируется случайным образом. И входные, и выходные наборы данных имеют одинаковые размерности. Документация тоже не очень помогла.


person brightprogrammer    schedule 14.11.2019    source источник


Ответы (1)


Убедитесь, что ваши учебные метки находятся в диапазоне от [1, #classes].

person Saraansh Tandon    schedule 29.02.2020