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

Method process

code/dataset_benchmark.py:147–165  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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"""

Callers

nothing calls this directly

Calls 1

_random_splitMethod · 0.95

Tested by

no test coverage detected