本文整理汇总了C++中NeuralNetwork::Input方法的典型用法代码示例。如果您正苦于以下问题:C++ NeuralNetwork::Input方法的具体用法?C++ NeuralNetwork::Input怎么用?C++ NeuralNetwork::Input使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NeuralNetwork
的用法示例。
在下文中一共展示了NeuralNetwork::Input方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: xortest
//std::vector<double>
double xortest(Genome& g, Substrate& subst, Parameters& params)
{
NeuralNetwork net;
//g.BuildHyperNEATPhenotype(net, subst);
g.Build_ES_Phenotype(net, subst, params);
int depth = 5;
double error = 0;
std::vector<double> inputs;
inputs.resize(3);
net.Flush();
inputs[0] = 1;
inputs[1] = 0;
inputs[2] = 1;
net.Input(inputs);
for(int i=0; i<depth; i++) { net.Activate(); }
error += abs(net.Output()[0] - 1.0);
net.Flush();
inputs[0] = 0;
inputs[1] = 1;
inputs[2] = 1;
net.Input(inputs);
for(int i=0; i<depth; i++) { net.Activate(); }
error += abs(net.Output()[0] - 1.0);
net.Flush();
inputs[0] = 0;
inputs[1] = 0;
inputs[2] = 1;
net.Input(inputs);
for(int i=0; i<depth; i++) { net.Activate(); }
error += abs(net.Output()[0] - 0.0);
net.Flush();
inputs[0] = 1;
inputs[1] = 1;
inputs[2] = 1;
net.Input(inputs);
for(int i=0; i<depth; i++) { net.Activate(); }
error += abs(net.Output()[0] - 0.0);
//std::vector<double> f;
//f.push_back((4.0 - error)*(4.0 - error));
//f.push_back(g.Length);
return (4.0 - error)*(4.0 - error);
}
示例2: evaluate
double evaluate(Genome& genome) {
NeuralNetwork net;
genome.BuildPhenotype(net);
double error = 0;
for(int i=0; i<4; i++) {
std::vector<double> inputs;
inputs.push_back((i<2) ? 1 : 0);
inputs.push_back((i%2==0) ? 1 : 0);
inputs.push_back(1);
double output = ((i == 1) || (i == 2)) ? 1 : 0;
net.Flush();
net.Input(inputs);
for(int t=0; t<3; t++) {
net.Activate();
}
double o = net.Output()[0];
error += fabs(output - o);
}
return ((4 - error) * (4 - error));
}