DeepGraphLearning / graphvite

GraphVite: A General and High-performance Graph Embedding System
https://graphvite.io
Apache License 2.0
1.22k stars 151 forks source link

Train TransE, DistMult and RotatE #31

Closed zheng-da closed 4 years ago

zheng-da commented 4 years ago

What is a right set of parameters to train TransE, DistMult and RotatE on FB15k to reproduce the results in the RotatE paper?

I started out with the script shown in the KGE tutorial.

import graphvite as gv
import graphvite.application as gap

app = gap.KnowledgeGraphApplication(dim=512)
app.load(file_name=gv.dataset.fb15k.train)
app.build(optimizer=5e-3, num_negative=4)
app.train(margin=9)

app.link_prediction(file_name=gv.dataset.fb15k.valid,
                    filter_files=[gv.dataset.fb15k.train,
                                  gv.dataset.fb15k.valid,
                                  gv.dataset.fb15k.test])

However, this setting cannot train RotatE to reproduce the results in the paper.

KiddoZhu commented 4 years ago

For hyperparameters, please refer to the baseline config files.

The above case only fits the demo dataset math. Hyperparameters in KGE are very dataset-dependent and you'd better tune them for each dataset. There is a brief tutorial of hyperparameters at the bottom of KGE tutorial. You may take a look at that.

zheng-da commented 4 years ago

thanks