概述
开放图基准(OGB)是一个用于图机器学习的基准数据集集合、数据加载器和评估器。数据集涵盖了各种图机器学习任务和实际应用。 OGB 数据加载器与流行的图深度学习框架完全兼容,包括 PyTorch Geometric 和 Deep Graph Library (DGL)。它们提供自动的数据集下载、标准化的数据集划分和统一的性能评估。
OGB 旨在提供涵盖重要图机器学习任务、具有多样化规模和丰富领域的图数据集。
图机器学习任务: 我们涵盖了三个基本的图机器学习任务:节点、链接和图的级别预测。
多样化规模: 小规模图数据集可以在单个 GPU 内处理,而中等规模和大规模图可能需要多个 GPU 或巧妙的采样/分区技术。
丰富的领域: 图数据集来自各种领域,包括科学领域到社交/信息网络,并且还包括异质知识图。
OGB 是一个持续进行的工作,我们计划未来增加我们的覆盖范围。
安装
你可以使用 Python 的包管理器 pip
安装 OGB。
如果你之前安装了 ogb,请确保更新到版本 1.3.6。
发布说明可以在 这里 找到。
要求
- Python>=3.6
- PyTorch>=1.6
- DGL>=0.5.0 或 torch-geometric>=2.0.2
- Numpy>=1.16.0
- pandas>=0.24.0
- urllib3>=1.24.0
- scikit-learn>=0.20.0
- outdated>=0.2.0
Pip 安装
安装 OGB 的推荐方法是使用 Python 的包管理器 pip:
pip install ogb
python -c "import ogb; print(ogb.__version__)"
# 这将打印 “1.3.6”。否则,请更新版本
pip install -U ogb
从源码安装
你也可以从源码安装 OGB。如果你想为 OGB 做贡献,推荐使用这种方式。
git clone https://github.com/snap-stanford/ogb
cd ogb
pip install -e .
包使用
我们强调 OGB 的两个关键特性,即 (1) 易于使用的数据加载器和 (2) 标准化的评估器。
(1) 数据加载器
我们准备了易于使用的 PyTorch Geometric 和 DGL 数据加载器。我们处理数据集下载以及标准化数据集的划分。 下面,在 PyTorch Geometric 上,我们看到几行代码就足以准备和划分数据集!不用说,你也可以享受 DGL 的同样便利!
from ogb.graphproppred import PygGraphPropPredDataset
from torch_geometric.loader import DataLoader
# 下载并处理数据到 './dataset/ogbg_molhiv/'
dataset = PygGraphPropPredDataset(name = 'ogbg-molhiv')
split_idx = dataset.get_idx_split()
train_loader = DataLoader(dataset[split_idx['train']], batch_size=32, shuffle=True)
valid_loader = DataLoader(dataset[split_idx['valid']], batch_size=32, shuffle=False)
test_loader = DataLoader(dataset[split_idx['test']], batch_size=32, shuffle=False)
(2) 评估器
我们还准备了标准化的评估器,以便轻松评估和比较不同的方法。评估器以 input_dict
(其格式在 evaluator.expected_input_format
中指定的字典)作为输入,并返回一个字典,其中存储了适合给定数据集的性能指标。
标准化的评估协议允许研究人员可靠地比较他们的方法。
from ogb.graphproppred import Evaluator
evaluator = Evaluator(name = 'ogbg-molhiv')
# 你可以了解评估器的输入和输出格式规范。
# print(evaluator.expected_input_format)
# print(evaluator.expected_output_format)
input_dict = {'y_true': y_true, 'y_pred': y_pred}
result_dict = evaluator.eval(input_dict) # 例如,{'rocauc': 0.7321}
引用 OGB / OGB-LSC
如果你在工作中使用 OGB 或 OGB-LSC 数据集,请引用我们的论文(Bibtex 如下)。
@article{hu2020ogb,
title={Open Graph Benchmark: Datasets for Machine Learning on Graphs},
author={Hu, Weihua and Fey, Matthias and Zitnik, Marinka and Dong, Yuxiao and Ren, Hongyu and Liu, Bowen and Catasta, Michele and Leskovec, Jure},
journal={arXiv preprint arXiv:2005.00687},
year={2020}
}
@article{hu2021ogblsc,
title={OGB-LSC: A Large-Scale Challenge for Machine Learning on Graphs},
author={Hu, Weihua and Fey, Matthias and Ren, Hongyu and Nakata, Maho and Dong, Yuxiao and Leskovec, Jure},
journal={arXiv preprint arXiv:2103.09430},
year={2021}
}