params = setup_params.setup_params()
	pool = multiprocessing.Pool(8)
	
	adjlist_file_name = "../synthetic_data.ajdlist0"
	feature_file_name = "../synthetic_data.feature0"
	
	num_graphs = 1
	
	training_data_list = [{}] * num_graphs
	for i in range(num_graphs):
		training_data_list[i]["num_features"] = 2
		training_data_list[i]["source"] = 0
		training_data_list[i]["positives"] = range(200)
		training_data_list[i]["negatives"] = range(9800, 10000)
		training_data_list[i]["num_nodes"] = 10000
		(training_data_list[i]["edge_ij"], training_data_list[i]["feature_stack"]) = problem_setup.get_edge_ij_and_feature_stack(adjlist_file_name, feature_file_name, training_data_list[i]["num_features"])
		training_data_list[i]["diff_generating_mat"] = grad_one_source.build_diff_generating_mat(range(200), range(200, 9800), 10000)
	
	w0 = numpy.random.randn(training_data_list[0]["num_features"], 1)
	print(w0.shape)
	
	p_warm_start_list = [numpy.ones((10000, 1)) / 10000.0] * num_graphs
	p_grad_warm_start_list = [numpy.zeros((10000, 2))] * num_graphs
	
	#w_1 = numpy.copy(w0)
	#w_1[0] -= 1e-5
	#w_2 = numpy.copy(w0)
	#w_2[0] += 1e-5
	#
	#cost_1 = compute_cost.compute_cost(w_1, training_data_list, p_warm_start_list, p_grad_warm_start_list, params, pool)
	#grad_1 = compute_grad.compute_grad(w_1, training_data_list, p_warm_start_list, p_grad_warm_start_list, params, pool)
예제 #2
0
sigma_squared = float(sys.argv[2])
#num_graphs = 50
num_nodes = 2000
params = setup_params.setup_params()

training_data_list = []

w_gt = numpy.array([[1.0], [-1.0]])

i = 0
indices = []
training_file = open("synthetic_trainers_mini.txt", "r")
for line in training_file:
	index = int(line.rstrip("\n"))
	indices.append(index)
	(edge_ij, feature_stack, G) = problem_setup.get_edge_ij_and_feature_stack("../synthetic_data/synthetic_data.ajdlist%d"%(index), "../synthetic_data/synthetic_data.antisymmetric_feature%d"%(index), 2, num_nodes = num_nodes)
	source = index % 3
	candidates = list(set(G.nodes()) - set(G.neighbors(source)) - set([source]))
	training_data_list.append({})
	training_data_list[i]["num_features"] = 2
	training_data_list[i]["source"] = source
	training_data_list[i]["candidates"] = candidates
	training_data_list[i]["edge_ij"] = edge_ij
	training_data_list[i]["feature_stack"] = feature_stack
	training_data_list[i]["num_nodes"] = num_nodes
	(training_data_list[i]["training_positives"], training_data_list[i]["training_negatives"]) = predict_one_source.predict_one_source(w_gt, training_data_list[i], params)
	problem_setup.write_spn_list("../synthetic_data/synthetic_data.spn%d"%(index), [(source, training_data_list[i]["training_positives"], training_data_list[i]["training_negatives"])])

	i += 1
#x = range(num_graphs)