我正在尝试在OpenNN中运行一个简单的问题。大多数都可以正常工作,但是当我进入TestingAnalysis时,使用教程代码会给出一条错误消息,表明测试实例的数量为零。很公平,因为我实际上没有为它提供测试装置。我有一个可用的测试集,但是正在寻找你应该提供它的确切方式,教程没有说,当我看这些例子时,他们的代码看起来像:
TestingAnalysis testing_analysis(&neural_network, &data_set);
TestingAnalysis::LinearRegressionResults linear_regression_results = testing_analysis.perform_linear_regression_analysis();
...但这似乎与教程的代码相同,并且在源文件中几乎没有任何代码行可以将数据集设置为除原始训练集之外的任何其他内容。然而,这个例子似乎运行良好而不会破坏测试分析,但也没有明显地做任何事情。
我错过了什么?
答案 0 :(得分:1)
有几种方法可以解决这个问题,实际上在这里一个接一个很好(最后我在使用OpenNN库时也遇到了简单的错误)
测试分析类文档 - http://www.opennn.net/documentation/reference/class_open_n_n_1_1_testing_analysis.html
当您尝试执行此类分析时,请不要忘记设置显示标志(void set_display (const bool &)
加上void check (void) const
,这将检查指针是否为空,这仍然只是重新检查你的情况)最后,请使用void save (const std::string &) const
或std::string to_string (void) const
方法,这样你就可以从这个对象中获取一些日期。
这一切都取决于数据,它通常是我们这边的逻辑错误(对于近似项目,fe不可能用单个实例(一行,只是它们的输入和输出)提供数据集,也是我只是在尝试使用大小不相等的实例启动数据集时遇到大错误。)
以简单的形式看到结果会很感激,因此可以分析对象数据。即Vector< Matrix< double > > calculate_error_data (void) const
这是最简单的方法,这个应用程序基于OpenNN,因此在我们开始使用代码之前,可以更快地模拟所有工作。 每一步都有大量的日志和信息。 (通常最好从这里开始,当我们更确定我们想要用NN做什么时,转到我们自己的代码模板)
为了更好的答案,请提供其他信息,例如“什么是数据集和神经网络馈送,是在原始的,未初始化的对象或具有随机数据的对象上启动的”perform_“方法,其中代码是用过的”。 OpenNN拥有自己的方法调用流程,所以这一切都很重要。