电脑基础 · 2023年4月19日

PyTorch+PyG实现图神经网络经典模型目录

PyTorch+PyG实现图神经网络经典模型目录

前言

大家好,我是阿光。

本专栏整理了《图神经网络代码实战》,内包含了不同图神经网络的相关代码实现(PyG以及自实现),理论与实践相结合,如GCN、GAT、GraphSAGE等经典图网络,每一个代码实例都附带有完整的代码。

正在更新中~ ✨

PyTorch+PyG实现图神经网络经典模型目录

🚨 我的项目环境:

  • 平台:Windows10
  • 语言环境:python3.7
  • 编译器:PyCharm
  • PyTorch版本:1.11.0
  • PyG版本:2.1.0

🌠 『精品学习专栏导航帖』

  • 🐧【Matplotlib绘制图像目录】Python数据可视化之美🐧

  • 🎠【Pandas数据处理100例目录】Python数据分析玩转Excel表格数据🎠

  • 🐳最适合入门的100个深度学习实战项目🐳

  • 🐙【PyTorch深度学习项目实战100例目录】项目详解 + 数据集 + 完整源码🐙

  • 🐶【机器学习入门项目10例目录】项目详解 + 数据集 + 完整源码🐶

  • 🦜【机器学习项目实战10例目录】项目详解 + 数据集 + 完整源码🦜

  • 🐌Java经典编程100例🐌

  • 🦋Python经典编程100例🦋

  • 🦄蓝桥杯历届真题题目+解析+代码+答案🦄

  • 🐯【2023王道数据结构目录】课后算法设计题C、C++代码实现完整版大全🐯


对于本专栏的网络模型,分别使用了三种实现方式 PyG框架实现PyTorch实现Message Passing消息传递机制实现,小伙伴可以按照自己的能力以及需求学习不同的实现方式。

注意 🚨:本目录中已存在的链接博文已全部写好,例如 + (一):节点分类 这类带有删除线的文章表示正在更新中,如果写完会去掉删除线,点击出现404表示文章还没有发布,后续根据情况陆续发布。

🌈『目录』


📢 PyG算子、数据集介绍

  • (一):PyG内置常见图数据集一览表
  • (二):PyG图神经网络算子一览表

📢 图神经网络常见任务与应用场景

  • (一):节点分类(PyG基于GCN实现Cora节点分类任务)
  • (二):图分类(PyG基于GCN实现MUTAG图分类任务)
    + (三):链路预测
    + (四):异常检测
    + (五):社区检测

📢 图嵌入学习(Graph Embedding)

  • (一):DeepWalk(PyG基于DeepWalk实现节点分类及其可视化)
  • (二):Node2Vec(PyG基于Node2Vec实现节点分类及其可视化)
  • (三):MetaPath2Vec(PyG基于MetaPath2Vec实现节点分类及其可视化)
    + (三):LINE

📢 图池化(Graph Pooling)

  • (一):EdgePool(Pytorch+PyG实现EdgePool实现图分类)
  • (二):TopKPool(Pytorch+PyG实现TopKPool实现图分类)
  • (三):SAGPool(Pytorch+PyG实现SAGPool实现图分类)
  • (四):ASAPool(Pytorch+PyG实现ASAPool实现图分类)

📢 MLP

  • (一):Pytorch+PyG实现MLP(基于PyG实现)
  • (二):Pytorch实现MLP(基于PyTorch实现)

📢 GCN

  • (一):Pytorch+PyG实现GCN(基于PyG实现)
  • (二):Pytorch实现GCN(基于PyTorch实现)
  • (三):Pytorch实现GCN(基于Message Passing消息传递机制实现)

📢 GAT

  • (一):Pytorch+PyG实现GAT(基于PyG实现)
  • (二):Pytorch实现GAT(基于PyTorch实现)
  • (三):Pytorch实现GAT(基于Message Passing消息传递机制实现)

📢 GIN

  • (一):Pytorch+PyG实现GIN(基于PyG实现)
  • (二):Pytorch实现GIN(基于PyTorch实现)
  • (三):Pytorch实现GIN(基于Message Passing消息传递机制实现)

📢 GraphSAGE

  • (一):Pytorch+PyG实现GraphSAGE(基于PyG实现)
  • (二):Pytorch实现GraphSAGE(基于PyTorch实现)
  • (三):Pytorch实现GraphSAGE(基于Message Passing消息传递机制实现)

📢 EdgeCNN

  • (一):Pytorch+PyG实现EdgeCNN(基于PyG实现)
  • (二):Pytorch实现EdgeCNN(基于PyTorch实现)
  • (三):Pytorch实现EdgeCNN(基于Message Passing消息传递机制实现)

📢 GraphConv

  • (一):Pytorch+PyG实现GraphConv(基于PyG实现)
  • (二):Pytorch实现GraphConv(基于PyTorch实现)
  • (三):Pytorch实现GraphConv(基于Message Passing消息传递机制实现)

注意🚨:所有文章使用的图数据是经典的 Cora 数据集,定义的训练轮数(200轮)以及损失函数优化器都是一致的,由于图网络很容易过拟合导致训练集的分类精度达到 99.9%,所以下表中显示的数据都是基于测试集的。

Accuracy Loss
MLP 0.1800 1.9587
GCN 0.7200 1.3561
GAT 0.7810 1.0362
GIN 0.7650 0.9645
GraphSAGE 0.7060 1.2712
EdgeCNN 0.3790 1.7529
GraphConv 0.6030 1.2378