gammagl.layers.conv.MixHopConv¶
- class MixHopConv(in_channels, out_channels, p, norm='both', add_bias=True)[source]¶
The sparsified neighborhood mixing graph convolutional operator from the “MixHop: Higher-Order Graph Convolutional Architectures via Sparsified Neighborhood Mixing” paper
\[\mathit{H^{(i+1)}}=\Vert_{{j\in P}}{\sigma ({\widehat{A}^{j}H^{(i)}W_{j}^{(i)}})},\]where \(\hat{A} = D^{-\tfrac{1}{2}}(A + I_n)D^{-\tfrac{1}{2}}\) is a symmetrically normalized adjacency matrix with self-connections and \(\hat{D}_{ii} = \sum_{j=0} \hat{A}_{ij}\) its diagonal degree matrix.
- Parameters:
in_channels (int) – Size of each input sample
out_channels (int) – Size of each output sample
p (list) – The list of integer adjacency powers
norm (str, optional) –
How to apply the normalizer. Can be one of the following values:
right, to divide the aggregated messages by each node’s in-degrees, which is equivalent to averaging the received messages.none, where no normalization is applied.both(default), where the messages are scaled with \(1/c_{ji}\) above, equivalent to symmetric normalization.left, to divide the messages sent out from each node by its out-degrees, equivalent to random walk normalization.
add_bias (bool) – If set to
False, the layer will not learn an additive bias. (default:True)