结构化绑定错误组,与神经网络相关

我下载了一个多年未使用的库,用于神经进化增强拓扑(Neural Evolutionary Augmenting Topologies)。这是一个会进化的神经网络。它自带了很多错误(大概20到30个),我设法修复了所有错误,除了这些:

错误 C3694 结构化绑定声明中只能包含 ‘static’、’thread_local’、’auto’ 和 cv-qualifiers 等限定符

错误(活动)E2828 类型 “float” 没有可绑定的组件

错误(活动)E0413 从 “const std::tuple<float, float, float>” 到 “float” 的转换函数不存在 //这是数据集

错误(活动)E2825 结构化绑定声明中的无效限定符

以下是出现错误的代码:

const int x1 = 1;const int x2 = 2;const int y = 1;static constexpr int NumInput = 2;static constexpr int NumOutput = 1;static constexpr bool Bias = true;static constexpr float ThresholdFitness = 0.80f;static constexpr std::size_t PopulationSize = 100;using ParamConfig = EvolutionNet::DefaultParamConfig;using EvolutionNetT = EvolutionNet::EvolutionNet<NumInput, NumOutput, Bias, ParamConfig>;using Network = EvolutionNetT::NetworkT;using FitnessScore = EvolutionNet::FitnessScore;for (float&& [x1, x2, y] : dataset) { // const auto, 所有错误都在这里                network->setInputValue(0, x1);                network->setInputValue(1, x2);                network->feedForward<ParamConfig>();                const float output = network->getOutputValue(0);                assert(output >= 0.f && output <= 1.f);                score += 1.f - (std::abs(output - y));            }

我对结构化绑定一无所知,我只是想在其他项目中使用一些神经网络。这个东西文档不是很好,但我认为这只是一个for-each循环,除非结构化绑定与此有关。如何修复这些错误?谢谢你。


回答:

正如错误消息所说,结构化绑定中只允许使用 auto 类型限定符(和 cv-qualifiers),所以请将 float&& 替换为 auto&&

如果你对这种语法感到不舒服,你也可以不使用它。这只是语法糖。你可以使用 std::get 来访问 std::tuple 的各个元素的值,例如:

for(auto entry : dataset) {    auto x1 = std::get<0>(entry);    auto x2 = std::get<1>(entry);    auto y = std::get<2>(entry);    //...}

或者,如果你喜欢,你可以写出具体的类型而不是使用 auto。如果你想要元组中元素的引用而不是它们的值,请在适当的地方添加 &&/&/const

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中创建了一个多类分类项目。该项目可以对…

发表回复

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