BasesDecomposition¶
- class BasesDecomposition(input_dim, num_relations, num_bases=None, output_dim=None, memory_intense=False)[source]¶
Bases:
pykeen.nn.message_passing.Decomposition
Represent relation-weights as a linear combination of base transformation matrices.
Initialize the layer.
- Parameters
input_dim (
int
) – >0 The input dimension.num_relations (
int
) – >0 The number of relations.output_dim (
Optional
[int
]) – >0 The output dimension. If None is given, defaults to input_dim.memory_intense (
bool
) – Enable memory-intense forward pass which may be faster, in particular if the number of different relations is small.
Methods Summary
forward
(x, node_keep_mask, source, target, …)Relation-specific message passing from source to target.
Reset the parameters of this layer.
Methods Documentation
- forward(x, node_keep_mask, source, target, edge_type, edge_weights=None)[source]¶
Relation-specific message passing from source to target.
- Parameters
x (
FloatTensor
) – shape: (num_nodes, input_dim) The node representations.node_keep_mask (
Optional
[BoolTensor
]) – shape: (num_nodes,) The node-keep mask for self-loop dropout.source (
LongTensor
) – shape: (num_edges,) The source indices.target (
LongTensor
) – shape: (num_edges,) The target indices.edge_type (
LongTensor
) – shape: (num_edges,) The edge types.edge_weights (
Optional
[FloatTensor
]) – shape: (num_edges,) Precomputed edge weights.
- Return type
FloatTensor
- Returns
shape: (num_nodes, output_dim) The enriched node embeddings.