项目介绍:TensorFlow GNN
TensorFlow GNN 是一个用于在 TensorFlow 平台上构建图神经网络(GNN)的库。这个库由谷歌内部的一个广泛使用的库开源而来,能够处理同质和异质的图,同时与其他可扩展的图挖掘工具结合使用。以下是 TensorFlow GNN 的主要功能和特点:
主要功能
- 图结构表示:提供了
tfgnn.GraphTensor
类型,用于表示具有异质架构的图,这意味着图中可以包含多种类型的节点和边。 - 数据准备工具:提供了用于数据准备的各种工具,特别是一个图采样器,可以将庞大的数据库转换为适合训练和推理的小规模子图流。
- 模型和层:包含一系列现成可用的模型和 Keras 层,用户可以此为基础创建自己的 GNN 模型。
- 高级 API:提供用于训练协调的高级 API,使得训练过程更加简便。
快速入门
用户可以通过 Google Colab 在浏览器中运行 TF-GNN 演示,无需安装即可体验:
- 分子图分类:使用 MUTAG 数据集进行演示;
- OGBN-MAG 全流程训练:训练一个模型来处理来自 OGBN-MAG 基准测试的异质采样子图;
- 学习最短路径:展示了一种用于预测最短路径边的高级编码器/处理器/解码器架构。
这些教程帮助用户快速上手并理解 TF-GNN 的使用和功能。
安装说明
要安装 TensorFlow GNN 的最新稳定版本,用户可以使用如下命令:
pip install tensorflow-gnn
安装时的关键平台需求包括:
- TensorFlow 2.12 或更高版本,以及 GPU 驱动;
- Keras v2,需与 TensorFlow 2.x 版本一起使用,TF-GNN 不支持 Keras v3;
- Apache Beam 用于分布式图采样;
- 对于需要使用 tensorflow.lite 的测试或脚本,需安装
ai-edge-litert
。
该库在 Linux 上开发和测试,但在 TensorFlow 支持的其他平台上运行也有可能。
引用
在论文中引用此库时,请参考 TF-GNN 的学术论文:
@article{tfgnn,
author = {Oleksandr Ferludin and Arno Eigenwillig and Martin Blais and
Dustin Zelle and Jan Pfeifer and Alvaro Sanchez{-}Gonzalez and
Wai Lok Sibon Li and Sami Abu{-}El{-}Haija and Peter Battaglia and
Neslihan Bulut and Jonathan Halcrow and
Filipe Miguel Gon{\c{c}}alves de Almeida and Pedro Gonnet and
Liangze Jiang and Parth Kothari and Silvio Lattanzi and
Andr{\'{e}} Linhares and Brandon Mayer and Vahab Mirrokni and
John Palowitch and Mihir Paradkar and Jennifer She and
Anton Tsitsulin and Kevin Villela and Lisa Wang and David Wong and
Bryan Perozzi},
title = {{TF-GNN:} Graph Neural Networks in TensorFlow},
journal = {CoRR},
volume = {abs/2207.03522},
year = {2023},
url = {http://arxiv.org/abs/2207.03522},
}
TensorFlow GNN 为构建和训练图神经网络提供了强大的工具和框架,是从事图数据学习和研究人员的理想选择。