DenseChebConv

class dgl.nn.pytorch.conv.DenseChebConv(in_feats, out_feats, k, bias=True)[source]

基类: Module

来自 Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering 论文的切比雪夫谱图卷积层

建议在密集图上应用 ChebConv 时使用此模块。

参数:
  • in_feats (int) – 输入特征 \(h_i^{(l)}\) 的维度。

  • out_feats (int) – 输出特征 \(h_i^{(l+1)}\) 的维度。

  • k (int) – 切比雪夫滤波器大小。

  • activation (函数, 可选) – 激活函数,默认为 ReLu。

  • bias (bool, 可选) – 如果为 True,则在输出中添加可学习的偏置。默认为:True

示例

>>> import dgl
>>> import numpy as np
>>> import torch as th
>>> from dgl.nn import DenseChebConv
>>>
>>> feat = th.ones(6, 10)
>>> adj = th.tensor([[0., 0., 1., 0., 0., 0.],
...         [1., 0., 0., 0., 0., 0.],
...         [0., 1., 0., 0., 0., 0.],
...         [0., 0., 1., 0., 0., 1.],
...         [0., 0., 0., 1., 0., 0.],
...         [0., 0., 0., 0., 0., 0.]])
>>> conv = DenseChebConv(10, 2, 2)
>>> res = conv(adj, feat)
>>> res
tensor([[-3.3516, -2.4797],
        [-3.3516, -2.4797],
        [-3.3516, -2.4797],
        [-4.5192, -3.0835],
        [-2.5259, -2.0527],
        [-0.5327, -1.0219]], grad_fn=<AddBackward0>)

另见

ChebConv

forward(adj, feat, lambda_max=None)[source]

计算(密集)切比雪夫谱图卷积层

参数:
  • adj (torch.Tensor) – 要应用图卷积的图的邻接矩阵,形状应为 \((N, N)\),其中行表示目标节点,列表示源节点。

  • feat (torch.Tensor) – 输入特征,形状为 \((N, D_{in})\),其中 \(D_{in}\) 是输入特征的大小,\(N\) 是节点数。

  • lambda_max (floatNone, 可选) – 一个浮点值,表示给定图的最大特征值。默认为:None。

返回:

输出特征,形状为 \((N, D_{out})\),其中 \(D_{out}\) 是输出特征的大小。

返回类型:

torch.Tensor

reset_parameters()[source]

重新初始化可学习参数。