
图神经网络框架
文章平均质量分 88
本专栏主要介绍图神经网络的编程框架的用法。
斯曦巍峨
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PyG教程(8):计算更高效的稀疏矩阵形式
在Pytorch Geometric中我们经常使用消息传递范式来自定义GNN模型,但是这种方法存在着一些缺陷:在邻域聚合过程中,物化x_i和x_j可能会占用大量的内存(尤其是在大图上)。然而,并不是所有的GNN都需要表达成这种消息传递的范式形式,一些GNN是可以直接表达为稀疏矩阵乘法形式的。在1.6.0版本之后,PyG官方正式引入对稀疏矩阵乘法GNN更有力的支持(torch-sparse中的SparseTensor),通过稀疏矩阵乘法能够让内存更高效,同时也加快了执行时间。...原创 2022-07-18 11:32:34 · 3485 阅读 · 10 评论 -
PyG教程(7):剖析邻域聚合
上篇文章《PyG教程(6):自定义消息传递网络》主要介绍了消息传递GNN的大致框架。本文主要聚焦于消息传播中的邻域聚合,本文将介绍PyG是如何将节点的邻居的消息聚合到节点本身的。原创 2022-06-21 11:45:23 · 1830 阅读 · 1 评论 -
PyG教程(6):自定义消息传递网络
在上篇文章中主要介绍了GNN的消息传递机制,在PyG中提供了一个消息传递基类,它实现了消息传递的自动处理,继承该类就可以简单方便的构建自己的消息传播GNN。本文的主要内容包括:类剖析、继承实现GAT。...原创 2022-06-17 11:42:06 · 4824 阅读 · 0 评论 -
PyG教程(5):剖析GNN中的消息传播机制
众所周知,图神经网络可以从空域或谱域来对其进行研究。其中,空域角度主要借助消息传播机制来构建GNN。本文主要介绍的是消息传递机制,为下篇文章具体介绍PyG中是如何实现消息传播机制做好铺垫。...原创 2022-06-16 11:35:24 · 3065 阅读 · 1 评论 -
PyG教程(4):自定义数据集
在PyG中,除了直接使用它自带的benchmark数据集外,用户还可以自定义数据集,其方式与Pytorch类似,需要继承数据集类。PyG中提供了两个数据集抽象类:下面是对其的详细介绍。原创 2022-06-10 17:23:21 · 2785 阅读 · 0 评论 -
PyG教程(3):邻居采样
在GNN领域,大图是非常常见的,但由于GPU显存的限制,大图是无法放到GPU上进行训练的。为此,可以采用邻居采样,这样一来可以将GNN扩展到大图上。在PyG中,邻居采样的方式有很多种,具体详解`torch_geometric.loader`。本文以GraphSage中的邻居采样为例进行介绍,其在PyG中实现为`NeighborLoader`。...原创 2022-06-10 11:42:36 · 7194 阅读 · 3 评论 -
PyG教程(2):图数据
PyG中是面向图数据的,它同时支持同构图(homogeneous graphs)和异构图(heterogeneous)。同构图指只包含一种类型的节点和边的图(下图左)。而异构图指包含两种及以上类型的节点和边的图(下图右)。在PyG中,同构图被描述为类的实例,而异构图被描述为的实例。本文主要介绍PyG关于同构图的的相关操作。............原创 2022-06-09 18:36:37 · 6281 阅读 · 13 评论 -
torch_geometric安装笔记
一.前言torch_geometric是一个图深度学习框架,但这个框架的安装非常麻烦,最近刚好帮别人踩了这个坑,为方便以后查看记录一下,也方便自己查看。本次安装是在Ubuntu 16.04.5的环境下进行的。二.安装过程步骤一:创建一个虚拟环境。# 创建虚拟环境conda create env -n pytorch1.8.1 python=3.7# 切换到该虚拟环境conda activate pytorch1.8.1# 更新pip命令python -m pip install --原创 2021-12-22 17:16:48 · 3538 阅读 · 0 评论 -
PyG教程(1):初识Pytorch Geometric
PyG全称是Pytorch Geometric,它是一个基于Pytorch构建的库,可以帮助用户快速构建和训练自己的图神经网络模型。PyG中实现了很多先进(state of the art)的GNN模块,例如、、、、等等。此外,PyG中还包含了大量的benchmark图数据集、丰富的图数据操作方法、支持多GPU。关于PyG的安装,推荐使用命令的方式:其中和分别表示Pytorch版本和CUDA版本的占位符,即需要根据你的环境中两者的版本来对其进行设置,例如你本地的Pytorch和CUDA版本分别为和,则使用原创 2022-06-09 10:44:54 · 5862 阅读 · 2 评论