当前位置: 首页>>代码示例>>C++>>正文


C++ NeuralNetwork::Activate方法代码示例

本文整理汇总了C++中NeuralNetwork::Activate方法的典型用法代码示例。如果您正苦于以下问题:C++ NeuralNetwork::Activate方法的具体用法?C++ NeuralNetwork::Activate怎么用?C++ NeuralNetwork::Activate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在NeuralNetwork的用法示例。


在下文中一共展示了NeuralNetwork::Activate方法的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);

}
开发者ID:jal278,项目名称:multineatbranch,代码行数:52,代码来源:Main.cpp

示例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));
}
开发者ID:Arpic,项目名称:robogen,代码行数:22,代码来源:NeatTest.cpp


注:本文中的NeuralNetwork::Activate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。