(self)
| 145 | os.unlink(path) |
| 146 | |
| 147 | def process(self): |
| 148 | file_path = os.path.join(self.raw_dir, self.raw_file_names[0]) |
| 149 | |
| 150 | data = io.loadmat(file_path) |
| 151 | node_features = torch.FloatTensor(data["features"].todense()) |
| 152 | # remove additional dimension of length 1 in raw .mat file |
| 153 | node_labels = torch.LongTensor(data["label"].squeeze()) |
| 154 | edge_index = [] |
| 155 | for relation in self.relations[self.name]: |
| 156 | edge_index.append(from_scipy_sparse_matrix( |
| 157 | data[relation].tocoo())[0]) |
| 158 | edge_index = coalesce(torch.concat(edge_index, dim=1)) |
| 159 | |
| 160 | data = Data(x=node_features, edge_index=edge_index, y=node_labels) |
| 161 | |
| 162 | data = self._random_split( |
| 163 | data, self.seed, self.train_size, self.val_size) |
| 164 | data = data if self.pre_transform is None else self.pre_transform(data) |
| 165 | self.save([data], self.processed_paths[0]) |
| 166 | |
| 167 | def _random_split(self, data, seed=717, train_size=0.7, val_size=0.1): |
| 168 | """split the dataset into training set, validation set and testing set""" |
nothing calls this directly
no test coverage detected