for gcn in self.gcns: x = gcn(x, edge_index) x = F.relu(x) x, _, _, batch, _, _ = self.graph_pooling(x, edge_index, None, batch) x = global_max_pool(x, batch) outputs = self.dense(x) outputs = F.relu(outputs) outputs = self.out(outputs) return outputs model = Model(dataset.item_num, 2) opt = optim.SGD(model.parameters(), lr=0.5) # 3. learner learner = Learner(model, opt, F.cross_entropy, train_db, metrics=[accuracy]) # 4. fit learner.fit(3) # 5. test learner.test(test_dl) # 6. predict pred = learner.predict(test_dl) print(pred.size()) # 7. plot learner.recorder.plot_metrics() plt.show()
self.conv2 = GCNConv(16, class_num) def forward(self, data): x, edge_index = data.x, data.edge_index x = self.conv1(x, edge_index) x = F.relu(x) x = self.conv2(x, edge_index) outputs = F.relu(x) return outputs model = Model(dataset.num_node_features, dataset.num_classes) opt = optim.SGD(model.parameters(), lr=0.5, weight_decay=0.01) # 3. learner learner = Learner(model, opt, masked_cross_entropy, data, metrics=[masked_accuracy]) # 4. fit learner.fit(100) # 5. test learner.test(test_data) # 6. predict pred = learner.predict(dataset[0]) print(pred.size()) # 7. plot learner.recorder.plot_metrics() plt.show()