Encoders
Those are neural network encoders. They can be GNNs (tgn, graph_attention, etc.) in the case where the graph structure is leveraged, but can also be a simple linear layer like the one used in Velox (none) or a more complex custom MLP (custom_mlp).
The job of encoders is to compute the node and edge embeddings given the next step to the decoder and objective to compute the loss.
hetero_graph_transformer is a Heterogeneous Graph Transformer (HGT): each node type and edge type gets its own attention parameters. It is not available on OpTC.
- tgn
- tgn_memory_dim: int
- tgn_time_dim: int
- use_node_feats_in_gnn: bool
- use_memory: bool
- use_time_order_encoding: bool
- project_src_dst: bool
- mode: str
- use_residual_norm: bool (1)
- graph_attention
- activation: str
- num_heads: int
- concat: bool
- flow: str
- num_layers: int
- sage
- activation: str
- num_layers: int
- gat
- activation: str
- num_heads: int
- concat: bool
- flow: str
- num_layers: int
- gin
- activation: str
- num_layers: int
- rgcn
- activation: str
- num_layers: int
- rgcn_per_type
- activation: str
- num_layers: int
- sum_aggregation
- rcaid_gat
- magic_gat
- num_layers: int
- num_heads: int
- negative_slope: float
- alpha_l: float
- activation: str
- glstm
- custom_mlp
- architecture_str: str
- none
- hetero_graph_transformer
- activation: str (2)
- num_heads: int (3)
- num_layers: int (4)
- Adds the projected input node features to the output of the GNN wrapped by TGN, followed by dropout and LayerNorm.
- Unused: the input projections always use ReLU.
- Number of attention heads of each Heterogeneous Graph Transformer (HGT) layer.
- Number of HGT layers. Each node and edge type gets its own parameters; not available on OpTC.