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 modeltraining startederror: Mat::operator(): index out of boundsterminate called after throwing an instance of 'std::logic_error'  what():  Mat::operator(): index out of boundsAborted (core dumped)

我也查看了mlpack关于ann::FFN<>的教程,当我尝试运行那段代码时,完全没有问题!我在这里使用的数据集有10000行和5列,在这里使用时被转换为5行和10000列,因为mlpack将一列视为一个点。数据集中每个数字都是0到1之间的随机生成的值。输入和输出数据集的维度相同。文档也没什么帮助。


回答:

确保你的训练标签范围在[1, #classes]之间。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注