-
-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
when "create_inverse_triples" is set to false for ConvE, the evaluation becomes extremely slow. #1482
Comments
Hi @g-yit , this is unfortunately to be expected since ConvE's interaction function is designed to allow fast 1:n tail scoring while being quite inefficient for head scoring. In the original paper, they use inverse relations, so they only need tail scoring 😉 Background: ConvE uses an interaction function of the form |
|
Did you first train a TransE model and use its weights to initialize the ConvKB ones? That one is easy to miss, and unfortunately not easy to set as default initialization for ConvKB (since it requires training another model first). You can find a config for this training on FB15k237 here. Note that there are some best guesses in there because the paper did not report all hyperparameters for this first run. Once you have the weights, you can use Even with those, we were not able to reproduce the paper's results, cf. https://arxiv.org/pdf/2006.13365, Table 9 in the appendix. |
For each triple it needs to score ~15k entities, i.e., it is running 3.31*15k = 49.65k score evaluations per second. |
btw, from you method name |
Describe the bug
In PyKEEN, when "create_inverse_triples" is set to false for ConvE, the evaluation becomes extremely slow.
How to reproduce
Environment
1.11.1-dev
Additional information
No response
Issue Template Checks
The text was updated successfully, but these errors were encountered: