TF-GNN 基于 TensorFlow 的图神经网络框架开源项目

我要开发同款
匿名用户2019年02月11日
40阅读
开发技术Python
所属分类人工智能
授权协议GPLv3

作品详情

TF-GNN是基于TensorFlow的图神经网络框架,包含了图卷积网络(GCN)和图注意力网络(GAT)等常见的深度图神经网络。框架内部使用了稀疏矩阵等解决了图神经网络的计算效率和规模问题。

项目内容:

图神经网络(如GCN、GAT等)的工程化一直是一个大问题,在数据预处理、网络构建、性能优化等方面都需要细致的考虑。TF-GNN基于TensorFLow,为图神经网络提供了下面的功能:

图神经网络数据集的构建,包括将图神经网络存储格式、图数据的读取、训练测试划分等

基于稀疏矩阵的数据结构大大提升了框架的性能,在CPU上也可以轻松地运行图神经网络

提供了GCN和GAT层,可以直接构建GCN和GAT

数据集:

内置了下面的已经格式化的数据集:

DBLP(论文引用数据集)

M10(论文引用数据集)

示例:

图卷积网络示例(GraphConvolutionalNetworks):

# coding=utf-8from gnn.data.dataset import GraphDataset, WhiteSpaceTokenizerfrom gnn.data.example import load_M10, load_cora, load_dblpfrom gnn.model.gcn import GCN, GCNTrainerimport tensorflow as tf# eager mode must be enabledfrom tensorflow.contrib.eager.python import tfeimport osos.environ["CUDA_VISIBLE_DEVICES"] = "0"tfe.enable_eager_execution()# read graph dataset: data/M10 data/dblp# dataset = GraphDataset("data/dblp", ignore_featureless_node=True)dataset = load_M10("data/M10", ignore_featureless_node=True)adj = dataset.adj_matrix(sparse=True)feature_matrix, feature_masks = dataset.feature_matrix(bag_of_words=True, sparse=True)labels, label_masks = dataset.label_list_or_matrix(one_hot=False)train_node_indices, test_node_indices, train_masks, test_masks = dataset.split_train_and_test(training_rate=0.3)gcn_model = GCN([16, dataset.num_classes()])gcn_trainer = GCNTrainer(gcn_model)gcn_trainer.train(adj, feature_matrix, labels, train_masks, test_masks, learning_rate=1e-3, l2_coe=1e-3)
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论