torch_geometric.nn.conv.GCN2Conv
- class GCN2Conv(channels: int, alpha: float, theta: Optional[float] = None, layer: Optional[int] = None, shared_weights: bool = True, cached: bool = False, add_self_loops: bool = True, normalize: bool = True, **kwargs)[source]
Bases:
MessagePassing具有初始残差连接和恒等映射的图卷积算子(GCNII)来自“简单且深度图卷积网络”论文。
\[\mathbf{X}^{\prime} = \left( (1 - \alpha) \mathbf{\hat{P}}\mathbf{X} + \alpha \mathbf{X^{(0)}}\right) \left( (1 - \beta) \mathbf{I} + \beta \mathbf{\Theta} \right)\]使用 \(\mathbf{\hat{P}} = \mathbf{\hat{D}}^{-1/2} \mathbf{\hat{A}} \mathbf{\hat{D}}^{-1/2}\),其中 \(\mathbf{\hat{A}} = \mathbf{A} + \mathbf{I}\) 表示插入自环的邻接矩阵, \(\hat{D}_{ii} = \sum_{j=0} \hat{A}_{ij}\) 表示其对角度矩阵, 而 \(\mathbf{X}^{(0)}\) 是初始特征表示。 在这里,\(\alpha\) 表示初始残差连接的强度, 而 \(\beta\) 表示恒等映射的强度。 邻接矩阵可以包含除
1以外的其他值,通过可选的edge_weight张量表示边的权重。- Parameters:
channels (int) – 每个输入和输出样本的大小。
alpha (float) – 初始残差连接的强度 \(\alpha\)。
theta (float, optional) – 用于计算身份映射强度的超参数 \(\theta\) \(\beta = \log \left( \frac{\theta}{\ell} + 1 \right)\). (默认值:
None)shared_weights (bool, 可选) – 如果设置为
False,将使用不同的权重矩阵来处理平滑表示和初始残差(“GCNII*”)。(默认:True)cached (bool, optional) – 如果设置为
True,该层将在第一次执行时缓存 \(\mathbf{\hat{D}}^{-1/2} \mathbf{\hat{A}} \mathbf{\hat{D}}^{-1/2}\) 的计算结果,并在后续执行中使用缓存版本。 此参数应仅在传导学习场景中设置为True。(默认值:False)add_self_loops (bool, 可选) – 如果设置为
False,将不会向输入图中添加自环。(默认值:True)**kwargs (optional) – Additional arguments of
torch_geometric.nn.conv.MessagePassing.
- Shapes:
输入: 节点特征 \((|\mathcal{V}|, F)\), 初始节点特征 \((|\mathcal{V}|, F)\), 边索引 \((2, |\mathcal{E}|)\), 边权重 \((|\mathcal{E}|)\) (可选)
输出: 节点特征 \((|\mathcal{V}|, F)\)