Skip to content

Commit ae778b2

Browse files
Make graphsage converter faster for large graphs and do not hardcode dataset name
1 parent dab090e commit ae778b2

File tree

1 file changed

+10
-34
lines changed

1 file changed

+10
-34
lines changed

create_Graph_forGraphSAGE.py

Lines changed: 10 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -21,48 +21,24 @@
2121
y = y_train+y_val+y_test
2222
y = np.argmax(y,axis=1)
2323

24+
train_attr, val_attr, test_attr = ({i: bool(m) for i, m in enumerate(mask)} for mask in (train_mask, val_mask, test_mask))
2425

25-
for i in range(len(y)):
26-
if i in val_index:
27-
G.node[i]['val']=True
28-
G.node[i]['test']=False
29-
G.node[i]['train']=False
30-
elif i in test_index:
31-
G.node[i]['test']=True
32-
G.node[i]['val']=False
33-
G.node[i]['train'] = False
34-
elif i in train_index:
35-
G.node[i]['test']=False
36-
G.node[i]['val']=False
37-
G.node[i]['train'] = True
38-
else:
39-
G.node[i]['test'] = False
40-
G.node[i]['val'] = False
41-
G.node[i]['train'] = False
42-
43-
26+
nx.set_node_attributes(G, train_attr, 'train')
27+
nx.set_node_attributes(G, val_attr, 'val')
28+
nx.set_node_attributes(G, test_attr, 'test')
29+
4430
data = json_graph.node_link_data(G)
45-
with open("cora/cora0-G.json","wb") as f:
31+
with open("%s/%s0-G.json" % (data_name, data_name), "wb") as f:
4632
json.dump(data,f)
4733
classMap = {}
4834
idMap = {}
4935
for i in range(len(y)):
5036
classMap[i]=y[i]
5137
idMap[i] = i
52-
with open("cora/cora0-id_map.json","wb") as f:
38+
39+
with open("%s/%s0-id_map.json" % (data_name, data_name), "wb") as f:
5340
json.dump(idMap,f)
54-
with open("cora/cora0-class_map.json","wb") as f:
41+
with open("%s/%s0-class_map.json" % (data_name, data_name), "wb") as f:
5542
json.dump(classMap,f)
56-
np.save(open("cora/cora0-feats.npy","wb"), features.todense())
57-
58-
59-
60-
61-
62-
63-
64-
65-
66-
67-
6843

44+
np.save("%s/%s0-feats.npy" % (data_name, data_name), features.todense())

0 commit comments

Comments
 (0)