gigl.experimental.knowledge_graph_embedding.lib.model.operators#
Classes#
A complex diagonal operator for heterogeneous graph embeddings. |
|
A diagonal operator for heterogeneous graph embeddings. |
|
An identity operator for heterogeneous graph embeddings. |
|
A linear operator for heterogeneous graph embeddings. |
|
Base class for relationwise operators in heterogeneous graph embeddings. |
|
A translation operator for heterogeneous graph embeddings. |
Module Contents#
- class gigl.experimental.knowledge_graph_embedding.lib.model.operators.ComplexDiagonalOperator(num_edge_types, node_emb_dim)[source]#
Bases:
RelationwiseOperatorBase
A complex diagonal operator for heterogeneous graph embeddings.
This operator splits the node embeddings into real and imaginary parts, and then applies a diagonal operator to each part separately.
The edge type embeddings are also split into real and imaginary parts.
See https://proceedings.mlr.press/v48/trouillon16.pdf.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- Parameters:
num_edge_types (int)
node_emb_dim (int)
- class gigl.experimental.knowledge_graph_embedding.lib.model.operators.DiagonalOperator(num_edge_types, node_emb_dim)[source]#
Bases:
RelationwiseOperatorBase
A diagonal operator for heterogeneous graph embeddings.
This operator multiplies the node embeddings by the edge type embeddings.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- Parameters:
num_edge_types (int)
node_emb_dim (int)
- class gigl.experimental.knowledge_graph_embedding.lib.model.operators.IdentityOperator(num_edge_types, node_emb_dim)[source]#
Bases:
RelationwiseOperatorBase
An identity operator for heterogeneous graph embeddings.
This operator does not apply any transformation to the node embeddings. It is used when no relation operator is needed.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- Parameters:
num_edge_types (int)
node_emb_dim (int)
- class gigl.experimental.knowledge_graph_embedding.lib.model.operators.LinearOperator(num_edge_types, node_emb_dim)[source]#
Bases:
RelationwiseOperatorBase
A linear operator for heterogeneous graph embeddings.
This operator projects the node embeddings using a learned projection matrix for each edge type. The projection matrix is learned during training and is used to represent the different types of relationships between nodes.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- Parameters:
num_edge_types (int)
node_emb_dim (int)
- class gigl.experimental.knowledge_graph_embedding.lib.model.operators.RelationwiseOperatorBase(num_edge_types, node_emb_dim)[source]#
Bases:
torch.nn.Module
Base class for relationwise operators in heterogeneous graph embeddings. Each operator applies a transformation to the node embeddings based on the context of a specific relation / edge-type.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- Parameters:
num_edge_types (int)
node_emb_dim (int)
- class gigl.experimental.knowledge_graph_embedding.lib.model.operators.TranslationOperator(num_edge_types, node_emb_dim)[source]#
Bases:
RelationwiseOperatorBase
A translation operator for heterogeneous graph embeddings.
This operator adds the edge type embeddings to the node embeddings. It is used to model the relationship between nodes in a heterogeneous graph. The edge type embeddings are learned during training and are used to represent the different types of relationships between nodes.
See https://papers.nips.cc/paper_files/paper/2013/file/1cecc7a77928ca8133fa24680a88d2f9-Paper.pdf
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- Parameters:
num_edge_types (int)
node_emb_dim (int)