MCPcopy Create free account
hub / github.com/NineAbyss/ZeroG / _create_subgraphs

Method _create_subgraphs

code/SubgraphDataset.py:72–93  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

70 self.subgraphs = self._create_subgraphs()
71
72 def _create_subgraphs(self):
73 subgraphs = []
74 for idx in tqdm(range(self.data.num_nodes)):
75
76 subgraph_node_idx, subgraph_edge_index, mapping, edge_mask = k_hop_subgraph(
77 node_idx=idx,
78 num_hops=self.num_hops,
79 edge_index=self.data.edge_index,
80 relabel_nodes=True,
81 num_nodes=self.data.num_nodes
82 )
83
84 unique_classes_in_subgraph = np.unique(self.data.y[subgraph_node_idx].cpu().numpy())
85 if len(unique_classes_in_subgraph) >= self.k_over_2 and len(subgraph_node_idx) <= self.max_nodes:
86 sub_data = Data(edge_index=subgraph_edge_index)
87 sub_data.y = self.data.y[subgraph_node_idx]
88 sub_data.raw_text = [self.data.raw_texts[i] for i in subgraph_node_idx.tolist()]
89 sub_data.label_text = self.data.label_text
90 sub_data.adjacency_matrix = to_dense_adj(subgraph_edge_index, max_num_nodes=mapping.size(0))[0]
91 sub_data.dataset_name = self.dataset_name
92 subgraphs.append(sub_data)
93 return subgraphs
94
95 def len(self):
96 return len(self.subgraphs)

Callers 1

__init__Method · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected