コード例 #1
0
        print("Performing stochastic block partitioning")
        # begin partitioning by finding the best partition with the optimal number of blocks
        evaluation = Evaluation(args, graph)
        partition = sbp.stochastic_block_partition(graph.num_nodes,
                                                   graph.num_edges,
                                                   graph.out_neighbors,
                                                   graph.in_neighbors)

    t_end = timeit.default_timer()
    print('\nGraph partition took {} seconds'.format(t_end - t_start))

    evaluation.total_runtime(t_start, t_end)

    if args.sample_type != "none":
        evaluation.evaluate_subgraph_sampling(full_graph, subgraph,
                                              full_graph_partition,
                                              subgraph_partition,
                                              block_mapping, vertex_mapping)
        evaluation.num_nodes = full_graph.num_nodes
        evaluation.num_edges = full_graph.num_edges

        # evaluate output partition against the true partition
        evaluate_subgraph_partition(subgraph.true_block_assignment,
                                    subgraph_partition.block_assignment,
                                    evaluation)
        evaluate_partition(full_graph.true_block_assignment,
                           full_graph_partition.block_assignment, evaluation)
    else:
        evaluate_partition(graph.true_block_assignment,
                           partition.block_assignment, evaluation)