EmbeddingLookupLayer

class ampligraph.latent_features.layers.encoding.EmbeddingLookupLayer(*args, **kwargs)

Attributes

max_ent_size

Returns the size of the entity embedding matrix.

max_rel_size

Returns the size of relation embedding matrix.

Methods

__init__(k[, max_ent_size, max_rel_size, ...])

Initializes the embeddings of the model.

build(input_shape)

Builds the embedding lookup error.

call(triples)

Looks up the embeddings of entities and relations of the triples.

compute_output_shape(input_shape)

Returns the output shape of outputs of call function.

get_config()

Returns the config of the layer.

partition_change_updates(partition_ent_emb, ...)

Perform the changes that are required when the partition is changed during training.

set_ent_rel_initial_value(ent_init, rel_init)

Sets the initial value of entity and relation embedding matrix.

set_initializer(initializer)

Set the initializer of the weights of this layer.

set_regularizer(regularizer)

Set the regularizer of the weights of this layer.

__init__(k, max_ent_size=None, max_rel_size=None, entity_kernel_initializer='glorot_uniform', entity_kernel_regularizer=None, relation_kernel_initializer='glorot_uniform', relation_kernel_regularizer=None, **kwargs)

Initializes the embeddings of the model.

Parameters:
  • k (int) – Embedding size.

  • max_ent_size (int) – Max entities that can occur in any partition (default: None).

  • max_rel_size (int) – Max relations that can occur in any partition (default: None).

  • entity_kernel_initializer (str (name of objective function), objective function or) –

  • instance (tf.keras.initializers.Initializer) – An objective function is any callable with the signature init = fn(shape). Initializer of the entity embeddings.

  • entity_kernel_regularizer (str (name of objective function), objective function or) –

  • instance – An objective function is any callable with the signature init = fn(shape) Initializer of the relation embeddings.

  • relation_kernel_initializer (str or objective function or tf.keras.regularizers.Regularizer instance) – Regularizer of entity embeddings.

  • relation_kernel_regularizer (str or objective function or tf.keras.regularizers.Regularizer instance) – Regularizer of relations embeddings.

  • seed (int) – Random seed.

build(input_shape)

Builds the embedding lookup error.

The trainable weights are created based on the hyperparams.

call(triples)

Looks up the embeddings of entities and relations of the triples.

Parameters:

triples (ndarray, shape (n, 3)) – Batch of input triples.

Returns:

emb_triples – List of embeddings of subjects, predicates, objects.

Return type:

list

compute_output_shape(input_shape)

Returns the output shape of outputs of call function.

Parameters:

input_shape (list) – Shape of inputs of call function.

Returns:

output_shape – Shape of outputs of call function.

Return type:

list

get_config()

Returns the config of the layer.

A layer config is a Python dictionary (serializable) containing the configuration of a layer. The same layer can be reinstantiated later (without its trained weights) from this configuration.

The config of a layer does not include connectivity information, nor the layer class name. These are handled by Network (one layer of abstraction above).

Note that get_config() does not guarantee to return a fresh copy of dict every time it is called. The callers should make a copy of the returned dict if they want to modify it.

Returns:

Python dictionary.

partition_change_updates(partition_ent_emb, partition_rel_emb)

Perform the changes that are required when the partition is changed during training.

Parameters:
  • batch_ent_emb – Entity embeddings that need to be trained for the partition (all triples of the partition will have an embedding in this matrix).

  • batch_rel_emb – Relation embeddings that need to be trained for the partition (all triples of the partition will have an embedding in this matrix).

set_ent_rel_initial_value(ent_init, rel_init)

Sets the initial value of entity and relation embedding matrix.

This function is mainly used during the partitioned training where the full embedding matrix is initialized outside the model.

set_initializer(initializer)

Set the initializer of the weights of this layer.

Parameters:

initializer (str (name of objective function) or objective function or tf.keras.initializers.Initializer or list) – Initializer of the entity and relation embeddings. This is either a single value or a list of size 2. If it is a single value, then both the entities and relations will be initialized based on the same initializer. If it is a list, the first initializer will be used for entities and the second for relations. Any callable with the signature init = fn(shape) can be interpreted as an objective function.

set_regularizer(regularizer)

Set the regularizer of the weights of this layer.

Parameters:

regularizer (str (name of objective function) or objective function or tf.keras.regularizers.Regularizer instance or list) – Regularizer of the weights determining entity and relation embeddings. If it is a single value, then both the entities and relations will be regularized based on the same regularizer. If it is a list, the first regularizer will be used for entities and the second for relations.