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


C++ Net::loadFromFile方法代码示例

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


在下文中一共展示了Net::loadFromFile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char *argv[]) {
	srandom(100);
	if(argc<2) return 0;
	Net myNet;
	//printf("add_movement started with file %s port %s\n", argv[0], argv[1]);
	char * genome_file = argv[0];
	int port = atoi(argv[1]);

	int num_attack_outputs = 3;
	int num_attack_geneneurons = 2;
	int num_eat_outputs = 3;
	int num_eat_geneneurons = 2;

	stringstream net_file;  net_file<<genome_file<<"."<<port<<".net";
	myNet.loadFromFile(net_file.str().c_str());

	/*
	for(int i = 0 ; i < 4; i++) {
		myNet.addNeuron(INPUT, "hunger");
	}
	myNet.connectSubnets("hunger", "eat", -0.1, 1.5);
	*/

	for(int o = 0 ; o < num_attack_outputs; o++) {
		myNet.addNeuron(OUTPUT, "attack");
	}
	for(int o = 0 ; o < num_attack_geneneurons; o++) {
		myNet.addNeuron(OUTPUT, "//attack");
	}
	for(int o = 0 ; o < num_eat_outputs; o++) {
		myNet.addNeuron(OUTPUT, "eat");
	}
	for(int o = 0 ; o < num_eat_geneneurons; o++) {
		myNet.addNeuron(OUTPUT, "//eat");
	}
	myNet.connectSubnets("visual_cortex", "attack", -0.25, 1.5);
	myNet.connectSubnets("visual_cortex", "//attack", -0.2, 1.2);
	myNet.connectSubnets("visual_cortex", "eat", -0.25, 1.5);
	myNet.connectSubnets("visual_cortex", "//eat", -0.2, 1.2);

	myNet.saveToFile(net_file.str().c_str());
}
开发者ID:episkipoe,项目名称:Agents,代码行数:42,代码来源:add_eat.cpp

示例2: main

int main (int argc, char * argv[]) {
	worldportstr << worldPort;
	if(argc<2) return 1;
	genome_file = argv[1];  if(!genome_file) return 1;
	myGenome.attachFile(genome_file);
	if(argc>2) myPort=atoi(argv[2]); 
	portstr << myPort;
	int sock = UDP_bind(myPort);
	//printf("my file is %s waiting on port %i\n", genome_file, myPort);

	myGenome.transcribeGene("//green_appearance", 1, portstr.str().c_str());

	srandom(100);
	stringstream net_file;  net_file<<genome_file<<"."<<myPort<<".net";
	myNet.name = net_file.str();
	myNet.saveToFile(net_file.str().c_str());
	myGenome.transcribeGene("//add_eye", 2, genome_file, portstr.str().c_str());
	myGenome.transcribeGene("//add_eye", 2, genome_file, portstr.str().c_str());
	myGenome.transcribeGene("//add_auditory", 2, genome_file, portstr.str().c_str());
	myGenome.transcribeGene("//add_reproduction", 2, genome_file, portstr.str().c_str());
	myGenome.transcribeGene("//add_movement", 2, genome_file, portstr.str().c_str());
	myGenome.transcribeGene("//add_turn", 2, genome_file, portstr.str().c_str());
	myGenome.transcribeGene("//connect_subnets", 2, genome_file, portstr.str().c_str());
	myNet.loadFromFile(net_file.str().c_str());
	myNet.printStats();

	//printf("body\n");

	stringstream child_file;  child_file<<genome_file<<n_children;
	//myGenome.transcribeGene("//asexual_reproduction", 4, portstr.str().c_str(), genome_file, child_file.str().c_str(), worldportstr.str().c_str());
	
	int n=4;
	while(1) {
		try {
			int status; while (waitpid(-1, &status, WNOHANG)>0);

			int nMessages=0; do {
				nMessages = check_for_message(sock);
			} while (nMessages>0);

			myNet.addClick();

			map<string,int>output_length; map<string,unsigned char*>output_data;
			myNet.getOutput(output_length, output_data);

			myGenome.transcribeGeneIfSubnetFires(output_length, output_data, "talk", 0.25, "//say", 1, portstr.str().c_str()) ;

			myGenome.transcribeGeneIfSubnetFires(output_length, output_data, "move", 0.2, "//move", 1, portstr.str().c_str()) ;

			myGenome.transcribeGeneIfSubnetFires(output_length, output_data, "turn", 0.1, "//turn", 1, portstr.str().c_str()) ;

			myGenome.transcribeGeneIfSubnetFires(output_length, output_data, "attack", 0.1, "//attack", 1, portstr.str().c_str()) ;

			myGenome.transcribeGeneIfSubnetFires(output_length, output_data, "eat", 0.2, "//eat", 1, portstr.str().c_str()) ;

			stringstream child_file;  child_file<<genome_file<<n_children;
			myGenome.transcribeGeneIfSubnetFires(output_length, output_data, "reproduction", 0.33, "//asexual_reproduction", 4, portstr.str().c_str(), genome_file, child_file.str().c_str(), worldportstr.str().c_str()) ;
	
			usleep(1000);
			//sleep(2);
		} 
		catch (...) {
			printf("organism %i error\n", myPort);
		}
	}
	close (sock);
	
	return 1;
}
开发者ID:episkipoe,项目名称:Agents,代码行数:69,代码来源:green_organism.cpp


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