基于 TensorFlow 的图神经网络框架 TF-GNN

GPLv3
Python 查看源码»
跨平台
2019-02-11
CrawlScript

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

项目内容:

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

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

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

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

数据集:

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

  • DBLP(论文引用数据集)

  • M10(论文引用数据集)

示例:

图卷积网络示例(Graph Convolutional Networks):

# coding=utf-8
from gnn.data.dataset import GraphDataset, WhiteSpaceTokenizer
from gnn.data.example import load_M10, load_cora, load_dblp
from gnn.model.gcn import GCN, GCNTrainer
import tensorflow as tf

# eager mode must be enabled
from tensorflow.contrib.eager.python import tfe

import os
os.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)
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

DeepMind 开源图神经网络的代码

用于支持论文《Relational inductive biases, deep learning, and graph networks》。 github A graph network takes a graph as input and returns a graph as output. The input graph has...

2018/10/20 18:32
203
0
tf

tf

2015/05/01 20:38
77
0
Objective-C --- - UITextField(梳理总结)

UITextField的一个例子 在屏幕底部,随键盘出现 弹起,键盘消失 掉下

2016/06/07 15:18
34
0
tensorflow初探---模型文件保存和加载

tensorflow模型文件可以大致分为两种: 1.通过tensorflow.train.Saver来生成 1)保存 ``` saver = tf.train.Saver(tf.all_variables()) saver.save(sess, 'model.ckpt') ``` 2)加载 ``` save...

2016/12/20 10:59
321
0
(学习笔记)UITextField用法总结

//初始化UItextfile并设置空间的位置和大小 UITextField *tf = [[UITextField alloc]initWithFrame:CGRectMake(0, 20, 300, 30)]; //设置边框样式,默认无边框 tf.borderStyle = UITextBorde...

2016/09/20 16:20
8
1
tensorflow_softmax代码解析

## 步骤 ### 开启 InteractiveSession import tensorflow as tf sess = tf.InteractiveSession() tensorflow依靠c++后端来计算。连接着后端的部分称为session。tensorflow的一般用法是,首先...

2016/07/29 16:46
49
0
TensorFlow人工智能入门教程之十四 自动编码机AutoEncoder 网络

好久没有更新了,最近 想在空余时间 之外 ,对以前人工智能平台进行封装,想做一个人工智能顶层框架,我是实战派,不是理论派,什么BP FF ,使用 组合 能够 理解思想才是最重要的,如果你想成...

2016/06/05 15:39
3.9K
0
tensorflow_convolution代码解析

## 构建多层卷积神经网络 softmax模型在MNIST上只有91%正确率,而卷积神经网络会达到大概99.2%的准确率,还是比较让人满意。 ### 权重初始化 为了创建这个模型,我们需要创建大量的权重和偏置...

2016/07/29 16:45
39
0
js高手时间毫秒转格式

//格式化时间 var formatDate = function(time, format){ var t = new Date(time); var tf = function(i){return (i < 10 ? '0' : '') + i}; return format.replace(/yyyy|MM|dd|HH|mm|ss/g,...

2015/10/23 10:44
115
0
文本分析——分配单词权重

文本处理中很多时候会需要给每个单词分配权重,有了权重以便后续进一步处理。常用的算法主要是TF-IDF。 TF TF,即Term Frequency。我们可以将文档看成由若干词(term)组成,那么文档中某个t...

2018/03/15 17:39
29
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部