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)
hi各位大佬好,在修改飞桨SR-GNN源码中,肯定首先要看懂流程,读懂程序。其中一个麻烦是config.yaml,其实这个玩意就是个txt文件,完全没必要这么搞。凡是需要手动修改(配置)的均不符合时代进步潮流(都是自动化了,你还倒退?),这种也必将被社会的浪潮冲蚀,最终湮灭。删繁就简三秋木,标新立异二月花 遇到的问题详见我的issue For Video Recommendation in D
采用GNN解决基于会话的推荐,啥是会话?session-based? 一般是指用户的行为,时间一般限制在30min内,也就是说用户在30min内的点击浏览行为,这是一个会话。 基于会话的推荐最终结果是计算得到用户和item的embedding,并预测next点击,也就是说,这种方法与youtube2016的部分流程是相似的, For Video Recommendation in Deep lea
SR-GNN的model模块 import tensorflow as tf import math class Model(object): def __init__(self, hidden_size=100, out_size=100, batch_size=100, nonhybrid=True): self.hidden_size = hidden_s
主要内容:使用TensorFlow实现递归神经网络递归神经网络是一种面向深度学习的算法,遵循顺序方法。在神经网络中,我们总是假设每个输入和输出都独立于所有其他层。这些类型的神经网络称为循环,因为它们以顺序方式执行数学计算。 考虑以下步骤来训练递归神经网络 - 第1步 - 从数据集输入特定示例。 第2步 - 网络将举例并使用随机初始化变量计算一些计算。 第3步 - 然后计算预测结果。 第4步 - 生成的实际结果与期望值的比较将产生错误。 第5步 -
在了解了机器学习概念之后,现在可以将注意力转移到深度学习概念上。深度学习是机器学习的一个分支。深度学习实现的示例包括图像识别和语音识别等应用。 以下是两种重要的深度神经网络 - 卷积神经网络 递归神经网络 在本章中,我们将重点介绍CNN - 卷积神经网络。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。CNN与其他普通神经网络之间的主要区别在于
神经网络的主要原理包括一系列基本元素,即人工神经元或感知器。它包括几个基本输入,如:x1,x2 …… .. xn,如果总和大于激活潜在量,则产生二进制输出。 样本神经元的示意图如下所述 - 产生的输出可以认为是具有激活潜在量或偏差加权和。 典型的神经网络架构如下所述 - 输入和输出之间的层称为隐藏层,层之间的连接密度和类型是配置。例如,完全连接的配置使层L的所有神经元连接到的神经元。对于更明显的定
我正在尝试用RELU实现神经网络。 输入层- 以上是我的神经网络结构。我对这个relu的反向传播感到困惑。对于RELU的导数,如果x 有人能解释一下我的神经网络架构的反向传播“一步一步”吗?
我有一个经过训练的网络,它由以下层组成:{con1, pool1, con2, pool2, con3, pool3, con4, pool4, fc5, fc6,输出}fc表示完全连接的层,conv表示卷积层。 我需要做一些图像的特征提取。我用的是千层面和意大利面。我需要保存每个层的特征,以便以后进行分析。我是这门语言的新手,所以我试图找到关于这门语言的示例代码或教程(使用theano/lasa
本文向大家介绍tensorflow构建BP神经网络的方法,包括了tensorflow构建BP神经网络的方法的使用技巧和注意事项,需要的朋友参考一下 之前的一篇博客专门介绍了神经网络的搭建,是在python环境下基于numpy搭建的,之前的numpy版两层神经网络,不能支持增加神经网络的层数。最近看了一个介绍tensorflow的视频,介绍了关于tensorflow的构建神经网络的方法,特此记录。