Lab: Training Graph Embeddings: Difference between revisions

From info216
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
=Lab 14: Training Graph Embeddings=


==Topics==
==Topics==
Line 10: Line 8:
'''Classes and methods:'''
'''Classes and methods:'''
The following TorchKGE class from the previous lab remains central:
The following TorchKGE class from the previous lab remains central:
* '''Model''' - contains the embeddings (entity and relation vectors) for the KG
* ''Model'' - contains the embeddings (entity and relation vectors) for the KG


In addition, we will also use:
In addition, we will also use:
* '''KnowledgeGraph''' - contains the knowledge graph (KG)
* ''KnowledgeGraph'' - contains the knowledge graph (KG)


==Tasks==
==Tasks==

Latest revision as of 06:38, 18 April 2023

Topics

Training knowledge graph embeddings with TorchKGE.

Useful readings

Classes and methods: The following TorchKGE class from the previous lab remains central:

  • Model - contains the embeddings (entity and relation vectors) for the KG

In addition, we will also use:

  • KnowledgeGraph - contains the knowledge graph (KG)

Tasks

Task: pre-trained models:

Note: The Wikidata dataset returns two graphs. They are not train/test, but the dataset with and without additional attributes. Start with the one without attributes. You need to split it into train/validation/test yourself using KG.split_kg().

Task: train your own:

  • Load the corresponding KG using a dataset loader.
  • Run the Shortest training example, but use a much lower value for epoch (for example 200).
  • Take note of the evaluation metrics and final loss, and re-run the example using different numbers of epochs. What happens when you increase the number?
  • Also run the Simplest training example. Use the documentation to make sure you have an idea of what the different parts of the algorithm do.

Task: train with early stopping:

  • Run the Training with Ignite example. Use the documentation to make sure you have an idea of what the different parts of the algorithm do. How do the results compare with your exploration of different epoch values?

If You Have More Time

  • Try this out on the other models supported by TorchKGE, both other TransX models and a deep model (ConvKB).
  • Try it out with different datasets, for example one you create youreself using SPARQL queries on an open KG.