Skip to main content

开放图基准

项目描述


派皮 执照

概述

开放图形基准 (OGB) 是用于图形机器学习的基准数据集、数据加载器和评估器的集合。数据集涵盖了各种图形机器学习任务和实际应用。OGB 数据加载器与流行的图形深度学习框架完全兼容,包括PyTorch GeometricDeep 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}
}

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

ogb-1.3.4.tar.gz (49.1 kB 查看哈希

已上传 source

内置分布

ogb-1.3.4-py3-none-any.whl (78.6 kB 查看哈希

已上传 py3