def calculate_accuracy((n_nodes, input_connectivity, output_connectivity)): accuracies = [] description = '-'.join( map(str, [n_nodes, input_connectivity, output_connectivity])) print "START-" + description for sample in range(conf.n_samples): rbn_reservoir = RBNNode(connectivity=conf.connectivity, input_connectivity=input_connectivity, n_nodes=n_nodes, output_connectivity=output_connectivity) reservoir_system = ReservoirSystem(rbn_reservoir) reservoir_system.train_on(*conf.training_data) accuracy = reservoir_system.test_on(*conf.test_data) accuracies.append(accuracy) print "END-" + description return { "accuracies": accuracies, "n_nodes": n_nodes, "n_samples": conf.n_samples, "input_connectivity": input_connectivity, "output_connectivity": output_connectivity }
def calculate_accuracy((n_nodes, input_connectivity, output_connectivity)): accuracies = [] description = '-'.join(map(str,[n_nodes, input_connectivity, output_connectivity])) print "START-" + description for sample in range(conf.n_samples): rbn_reservoir = RBNNode(connectivity=conf.connectivity, input_connectivity=input_connectivity, n_nodes=n_nodes, output_connectivity=output_connectivity) reservoir_system = ReservoirSystem(rbn_reservoir) reservoir_system.train_on(*conf.training_data) accuracy = reservoir_system.test_on(*conf.test_data) accuracies.append(accuracy) print "END-" + description return { "accuracies": accuracies, "n_nodes": n_nodes, "n_samples": conf.n_samples, "input_connectivity": input_connectivity, "output_connectivity": output_connectivity }
def get_rbn_meta(i): print "GOGO" + str(i) rbn_reservoir = RBNNode(connectivity=conf.connectivity, n_nodes=n_nodes, input_connectivity=n_nodes / 2) reservoir_system = ReservoirSystem(rbn_reservoir) reservoir_system.train_on(*conf.training_data) accuracy = reservoir_system.test_on(*conf.test_data) bns_file = "{}/{}.bns".format(conf.output_dir, i) cnet_file = "{}/{}.cnet".format(conf.output_dir, i) acc_file = "{}/{}.acc".format(conf.output_dir, i) with open(cnet_file, 'w') as f: f.write(rbn_reservoir.into_cnet()) with open(bns_file, 'w') as f: subprocess.call(['./analytics/SAT/bns', cnet_file], stdout=f) with open(bns_file, 'r') as bns: attractors = map( int, re.findall("Attractor \d+ is of length (\d+)", bns.read())) with open(acc_file, 'w') as acc: acc.write( json.dumps({ "accuracy": accuracy, "attractors": attractors, "mean_attractor_length": np.mean(attractors), "n_attractors": len(attractors) }))
def get_rbn_meta(i): print "GOGO" + str(i) rbn_reservoir = RBNNode(connectivity=conf.connectivity, n_nodes=n_nodes, input_connectivity=n_nodes/2) reservoir_system = ReservoirSystem(rbn_reservoir) reservoir_system.train_on(*conf.training_data) accuracy = reservoir_system.test_on(*conf.test_data) bns_file = "{}/{}.bns".format(conf.output_dir, i) cnet_file = "{}/{}.cnet".format(conf.output_dir, i) acc_file = "{}/{}.acc".format(conf.output_dir, i) with open(cnet_file, 'w') as f: f.write(rbn_reservoir.into_cnet()) with open(bns_file, 'w') as f: subprocess.call(['./analytics/SAT/bns', cnet_file], stdout=f) with open(bns_file, 'r') as bns: attractors = map(int, re.findall("Attractor \d+ is of length (\d+)", bns.read())) with open(acc_file, 'w') as acc: acc.write(json.dumps({ "accuracy": accuracy, "attractors": attractors, "mean_attractor_length": np.mean(attractors), "n_attractors": len(attractors) }))
def get_rbn_meta(_): print "!!!", _ rbn_reservoir = RBNNode(connectivity=conf.connectivity, input_connectivity=reservoir_size / 2, n_nodes=reservoir_size) reservoir_system = ReservoirSystem(rbn_reservoir) reservoir_system.train_on(*conf.training_data) accuracy = reservoir_system.test_on(*conf.test_data) attractors_meta = find_attractors(rbn_reservoir) attractors_meta["accuracy"] = accuracy return attractors_meta
def get_rbn_meta(_): print "!!!", _ rbn_reservoir = RBNNode(connectivity=conf.connectivity, input_connectivity=reservoir_size/2, n_nodes=reservoir_size) reservoir_system = ReservoirSystem(rbn_reservoir) reservoir_system.train_on(*conf.training_data) accuracy = reservoir_system.test_on(*conf.test_data) attractors_meta = find_attractors(rbn_reservoir) attractors_meta["accuracy"] = accuracy return attractors_meta