66from time import time
77from . import graph
88from semb .methods import BaseMethod
9+ from .utils import *
10+ from .graph import *
911
1012"""
1113Driver for learning Struc2Vec embedding
1214"""
1315class Method (BaseMethod ):
1416
15- __PARAMS__ = dict (dim = 128 , walk_length = 80 , num_walks = 10 , window_size = 10 , util_layer = None , \
16- iter = 5 , worker = 1 , weighted = False , directed = False , opt1 = False , opt2 = False , opt3 = False )
17+ __PARAMS__ = dict (dim = 128 , walk_length = 80 , num_walks = 10 , window_size = 10 , until_layer = None , \
18+ iter = 5 , workers = 1 , weighted = False , directed = False , opt1 = False , opt2 = False , opt3 = False )
1719
1820
1921 def exec_struc2vec (self ):
@@ -22,7 +24,9 @@ def exec_struc2vec(self):
2224 until_layer = self .params ['until_layer' ]
2325 else :
2426 until_layer = None
25- G = struc2vec .Graph (self .graph , self .params ['directed' ],
27+
28+ graph = from_networkx (self .graph , not self .params ['directed' ])
29+ G = struc2vec .Graph (graph , self .params ['directed' ],
2630 self .params ['workers' ], untilLayer = until_layer )
2731 if self .params ['opt1' ]:
2832 G .preprocess_neighbors_with_bfs_compact ()
@@ -38,8 +42,10 @@ def exec_struc2vec(self):
3842 G .preprocess_parameters_random_walk ()
3943 G .simulate_walks (self .params ['num_walks' ], self .params ['walk_length' ])
4044
45+ walks = LineSentence (walk_fname )
46+
4147 def learn_embeddings (self ):
42- walks = LineSentence ('random_walks.txt' )
48+ walks = LineSentence (walk_fname )
4349 self .model = Word2Vec (walks , size = self .params ['dim' ], window = self .params ['window_size' ],
4450 min_count = 0 , hs = 1 , sg = 1 , workers = self .params ['workers' ], iter = self .params ['iter' ])
4551 self .embeddings = self .model .wv
0 commit comments