开放图基准
项目描述
概述
开放图形基准 (OGB) 是用于图形机器学习的基准数据集、数据加载器和评估器的集合。数据集涵盖了各种图形机器学习任务和实际应用。OGB 数据加载器与流行的图形深度学习框架完全兼容,包括PyTorch Geometric和Deep Graph Library (DGL)。它们提供自动数据集下载、标准化数据集拆分和统一性能评估。
OGB 旨在提供涵盖重要的图机器学习任务、多样化的数据集规模和丰富的领域的图数据集。
Graph ML Tasks:我们涵盖了三个基本的图机器学习任务:节点、链接和图级别的预测。
规模多样:小型图形数据集可以在单个 GPU 内处理,而中大型图形可能需要多个 GPU 或巧妙的采样/分区技术。
丰富的领域:图数据集来自从科学领域到社会/信息网络的不同领域,还包括异构知识图谱。
OGB 是一项持续的工作,我们计划在未来增加我们的覆盖范围。
安装
您可以使用 Python 的包管理器安装 OGB pip
。
如果您之前安装了 ogb,请确保将版本更新到 1.3.4。
发布说明可在此处获得。
要求
- 蟒蛇>=3.6
- PyTorch>=1.6
- DGL>=0.5.0 或火炬几何>=2.0.2
- numpy>=1.16.0
- 熊猫>=0.24.0
- urllib3>=1.24.0
- scikit-learn>=0.20.0
- 过时>=0.2.0
点安装
安装 OGB 的推荐方法是使用 Python 的包管理器 pip:
pip install ogb
python -c "import ogb; print(ogb.__version__)"
# This should print "1.3.4". Otherwise, please update the version by
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
# Download and process data at './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')
# You can learn the input and output format specification of the evaluator as follows.
# 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) # E.g., {'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}
}
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。