[ PROMPT_NODE_27480 ]
layers_reference
[ SKILL_DOCUMENTATION ]
# PyTorch Geometric 神经网络层参考
本文档提供了 `torch_geometric.nn` 中所有可用神经网络层的综合参考。
## 层能力标志
选择层时,请考虑以下能力标志:
- **SparseTensor**: 支持 `torch_sparse.SparseTensor` 格式以进行高效稀疏操作
- **edge_weight**: 处理一维边权重数据
- **edge_attr**: 处理多维边特征信息
- **Bipartite**: 适用于二部图(源/目标节点维度不同)
- **Static**: 在具有批处理节点特征的静态图上运行
- **Lazy**: 允许在不指定输入通道维度的情况下进行初始化
## 卷积层
### 标准图卷积
**GCNConv** - 图卷积网络层
- 实现具有对称归一化的谱图卷积
- 支持:SparseTensor, edge_weight, Bipartite, Lazy
- 用途:引文网络、社交网络、通用图学习
- 示例:`GCNConv(in_channels, out_channels, improved=False, cached=True)`
**SAGEConv** - GraphSAGE 层
- 通过邻居采样和聚合进行归纳学习
- 支持:SparseTensor, Bipartite, Lazy
- 用途:大规模图、归纳学习、异构特征
- 示例:`SAGEConv(in_channels, out_channels, aggr='mean')`
**GATConv** - 图注意力网络层
- 用于自适应邻居加权的多头注意力机制
- 支持:SparseTensor, edge_attr, Bipartite, Static, Lazy
- 用途:需要可变邻居重要性的任务
- 示例:`GATConv(in_channels, out_channels, heads=8, dropout=0.6)`
**GraphConv** - 简单图卷积 (Morris et al.)
- 带有可选边权重的基本消息传递
- 支持:SparseTensor, edge_weight, Bipartite, Lazy
- 用途:基准模型、简单图结构
- 示例:`GraphConv(in_channels, out_channels, aggr='add')`
**GINConv** - 图同构网络层
- 用于图同构测试的最强 GNN
- 支持:Bipartite
- 用途:图分类、分子属性预测
- 示例:`GINConv(nn.Sequential(nn.Linear(in_channels, out_channels), nn.ReLU()))`
**TransformerConv** - 图 Transformer 层
- 将图结构与 Transformer 注意力相结合
- 支持:SparseTensor, Bipartite, Lazy
- 用途:长距离依赖、复杂图
- 示例:`TransformerConv(in_channels, out_channels, heads=8, beta=True)`
**ChebConv** - 切比雪夫谱卷积