Skip to content

How to train relations embedding only? #1352

Answered by mberr
pkociepka asked this question in Q&A
Discussion options

You must be logged in to vote

Yes, it is 🙂

The following is a small snippet to show that:

import torch

from pykeen.datasets import get_dataset
from pykeen.models import TransE
from pykeen.nn.init import PretrainedInitializer
from pykeen.pipeline import pipeline

dataset = get_dataset(dataset="nations")

# assume that this is your pre-trained entity embeddings
pre_trained = torch.rand(dataset.num_entities, 32)

# create model instance
model = TransE(
    triples_factory=dataset.training,
    embedding_dim=pre_trained.shape[-1],
    entity_constrainer=None,  # by default, TransE would normalize entity embedding to have unit norm
    entity_initializer=PretrainedInitializer(pre_trained),
)

# set entity representations …

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@pkociepka
Comment options

Answer selected by pkociepka
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants