예제 #1
0
from graph import Graph
from args import parse_args
from pre_train import PreTraining
from interactive import Interactive


def train(walk=False, struc=False, link=False, attr=False, walk_struc=False, classes=False):
    pre_train = PreTraining(graph, args)
    pre_train.structure_proximity(trained=struc)
    pre_train.deep_walk(trained=walk, num_walks=100, walk_length=10, workers=13)
    pre_train.link_proximity(trained=link)
    pre_train.attributes_proximity(trained=attr)
    pre_train.walk_proximity(trained=walk_struc, num_walks=100, walk_length=5, workers=13)
    pre_train.classes_proximity(trained=classes)


if __name__ == '__main__':
    args = parse_args()
    classes_path = args.classes_input
    edges_path = args.edges_list
    graph = Graph(test=0.5)
    # graph.load_edgelist(edges_path)
    train(walk=True, struc=True, link=False, attr=True, walk_struc=True, classes=True)
    # train(walk=True, struc=True, link=True, attr=True, walk_struc=True, classes=True)

    interactive = Interactive(graph, args)
    interactive.train(task='link')