| import os | |
| import torch | |
| import torch.nn.functional as F | |
| from tqdm import tqdm | |
| from torch_geometric.loader import NeighborLoader | |
| from torch.optim.lr_scheduler import ReduceLROnPlateau | |
| from torch_geometric.nn import MessagePassing, SAGEConv | |
| from ogb.nodeproppred import Evaluator, PygNodePropPredDataset | |
| import pandas as pd | |
| import numpy as np | |
| def get_score(submission_folder = "../env"): | |
| submission_path = os.path.join(submission_folder, "submission.csv") | |
| submission = pd.read_csv(submission_path) | |
| target_dataset = 'ogbn-arxiv' | |
| dataset = PygNodePropPredDataset(name=target_dataset, root='networks') | |
| data = dataset[0] | |
| split_idx = dataset.get_idx_split() | |
| test_idx = split_idx['test'] | |
| evaluator = Evaluator(name=target_dataset) | |
| y_true = data.y.cpu() | |
| submission = torch.tensor(np.array(submission)) | |
| test_acc = evaluator.eval({ | |
| 'y_true': y_true[test_idx], | |
| 'y_pred': submission, | |
| })['acc'] | |
| return test_acc | |
| if __name__ == "__main__": | |
| print(get_score()) |