深度学习基础----GAE和VGAE

就看这一个就行了:Pytorch Geometric Tutorial

 

配合PyG的文档食用:torch_geometric.nn — pytorch_geometric documentation

只有一个地方不理解,那个KL的实现如何理解,和我在别的地方看到的不一样:

按我自己的理解就是:

GAE其实就是GCN之后把得到的embedding经过内积(decoder)后送入交叉熵损失函数。

VGAE会经过两个GCN,一个输出均值,一个输出标准差(得为正值就是使用log的原因)。一个采样的标准正态分布会和标准差运算。  而最终的损失函数就是原本GAE的损失函数加上KL散度。(然后,我不太懂的地方就是PyG里KL的实现,见上)

03-17
### PyG 的定义及其基本用法 #### 什么是 PyG? PyTorch Geometric (简称 PyG) 是一种基于 PyTorch 构建的库,专门用于处理图结构化数据。它提供了多种工具来简化图神经网络(Graph Neural Networks, GNNs)的研究开发过程[^1]。 #### 安装 PyG 为了安装 PyG,首先需要确认已正确安装对应的 PyTorch 版本。可以通过以下命令测试当前环境中的 PyTorch 是否正常运行: ```python import torch print(torch.__version__) ``` 根据打印的结果选择合适的 PyTorch Python 配置组合。如果希望使用更稳定的配置,可以考虑降级到较低版本的 Python(例如 3.8),而不是最新的版本(如 3.12.4)。随后按照官方文档指导完成 PyG 的安装操作[^2]。 #### 使用 PyG 处理 Cora 数据集 通过 PyG 可以轻松加载常见的基准引文网络数据集,比如 Cora、Citeseer 或 Pubmed。这些数据集中包含了丰富的信息,具体如下所示: - **`edge_index`**: 表示图中所有的边连接关系,形状为 `[2, E]`,其中 `E=10556` 对应的是无向图经过预处理后的总边数。 - **`x`**: 节点特征矩阵,大小为 `[N, F]`,这里 N=2708 表明共有 2708 个节点;F=1433 则表示每个节点具有维度为 1433 的特征向量。 - **`y`**: 每个节点所属类别的标签数组,长度等于节点总数即 2708。 - **分割掩码 (`train_mask`, `val_mask`, `test_mask`)**: 这些布尔型张量分别指定了哪些节点属于训练集、验证集以及测试集的一部分[^3]。 下面是一个简单的代码片段展示如何利用 PyG 加载并初步探索 Cora 数据集的信息: ```python from torch_geometric.datasets import Planetoid dataset = Planetoid(root='/tmp/Cora', name='Cora') data = dataset[0] print(f'Number of nodes: {data.num_nodes}') print(f'Number of edges: {data.num_edges}') print(f'Node feature matrix shape: {data.x.shape}') print(f'Class labels distribution: {data.y.unique(return_counts=True)}') ``` #### 总结 综上所述,PyG 提供了一套完整的解决方案支持从基础的数据准备阶段直至模型构建与评估全流程自动化实现。借助该框架能够极大程度减少开发者手动编码的工作负担,并且让研究者更加专注于算法设计本身而非底层细节管理方面的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值