AdaGCNBase(in_dim, hid_dim, num_classes, num_layers=3, dropout=0.1, act=F.relu, gnn_type='gcn', mode='node', **kwargs)

Bases: Module

Base class for AdaGCN.

Parameters:
  • in_dim (int) –

    Input feature dimension.

  • hid_dim (int) –

    Hidden dimension.

  • num_classes (int) –

    Number of target classes.

  • num_layers (int, default: 3 ) –

    Number of GNN layers. Default: 3.

  • dropout (float, default: 0.1 ) –

    Dropout rate. Default: 0.1.

  • act (callable, default: relu ) –

    Activation function. Default: F.relu.

  • gnn_type (str, default: 'gcn' ) –

    Type of GNN ('gcn' or 'ppmi'). Default: 'gcn'.

  • mode (str, default: 'node' ) –

    'node' or 'graph' level task. Default: 'node'.

  • **kwargs

    Additional arguments.

Notes

Architecture components:

  1. GNN encoder for feature extraction
  2. Classification layer
  3. Cross-entropy loss function
forward(data)

Forward pass of AdaGCN.

Parameters:
  • data (Data) –

    Input graph data.

Returns:
  • Tensor

    Node/graph embeddings.

Notes

Process:

  1. Extract features based on mode (node/graph)
  2. Apply GNN encoder
  3. Return embeddings for downstream tasks
GNN(in_dim, hid_dim, gnn_type='gcn', num_layers=3, act=F.relu, dropout=0.1, **kwargs)

Bases: Module

Generic GNN encoder supporting multiple GNN types.

Parameters:
  • in_dim (int) –

    Input feature dimension.

  • hid_dim (int) –

    Hidden layer dimension.

  • gnn_type (str, default: 'gcn' ) –

    Type of GNN layer ('gcn' or 'ppmi'). Default: 'gcn'.

  • num_layers (int, default: 3 ) –

    Number of GNN layers. Default: 3.

  • act (callable, default: relu ) –

    Activation function. Default: F.relu.

  • dropout (float, default: 0.1 ) –

    Dropout rate. Default: 0.1.

  • **kwargs

    Additional arguments for GNN layers.

Notes
  • Supports both GCN and PPMI convolution types
  • Multiple layers with residual connections
  • Configurable activation and dropout
forward(x, edge_index, batch, mode='node')

Forward pass of the GNN.

Parameters:
  • x (Tensor) –

    Node features.

  • edge_index (Tensor) –

    Edge indices.

  • batch (Tensor) –

    Batch assignment for graph-level tasks.

  • mode (str, default: 'node' ) –

    'node' or 'graph' level task. Default: 'node'.

Returns:
  • Tensor

    Node or graph embeddings.

Notes
  • Applies multiple GNN layers sequentially
  • Optional graph pooling for graph-level tasks
  • Dropout and activation between layers