process raw data to graph, labels and masks
(self)
| 89 | ) |
| 90 | |
| 91 | def process(self): |
| 92 | """process raw data to graph, labels and masks""" |
| 93 | with open(os.path.join(self.raw_path, "data.json")) as f: |
| 94 | data = json.load(f) |
| 95 | features = F.tensor(np.array(data["features"]), dtype=F.float32) |
| 96 | labels = F.tensor(np.array(data["labels"]), dtype=F.int64) |
| 97 | |
| 98 | train_masks = np.array(data["train_masks"], dtype=bool).T |
| 99 | val_masks = np.array(data["val_masks"], dtype=bool).T |
| 100 | stopping_masks = np.array(data["stopping_masks"], dtype=bool).T |
| 101 | test_mask = np.array(data["test_mask"], dtype=bool) |
| 102 | |
| 103 | edges = [[(i, j) for j in js] for i, js in enumerate(data["links"])] |
| 104 | edges = np.array(list(itertools.chain(*edges))) |
| 105 | src, dst = edges[:, 0], edges[:, 1] |
| 106 | |
| 107 | g = graph((src, dst)) |
| 108 | g = to_bidirected(g) |
| 109 | |
| 110 | g.ndata["feat"] = features |
| 111 | g.ndata["label"] = labels |
| 112 | g.ndata["train_mask"] = generate_mask_tensor(train_masks) |
| 113 | g.ndata["val_mask"] = generate_mask_tensor(val_masks) |
| 114 | g.ndata["stopping_mask"] = generate_mask_tensor(stopping_masks) |
| 115 | g.ndata["test_mask"] = generate_mask_tensor(test_mask) |
| 116 | |
| 117 | g = reorder_graph( |
| 118 | g, |
| 119 | node_permute_algo="rcmk", |
| 120 | edge_permute_algo="dst", |
| 121 | store_ids=False, |
| 122 | ) |
| 123 | |
| 124 | self._graph = g |
| 125 | |
| 126 | def has_cache(self): |
| 127 | graph_path = os.path.join(self.save_path, "dgl_graph.bin") |
nothing calls this directly
no test coverage detected