Comments (6)
Sure you can do it: the ComplEx model either takes the left (subject) or right (object) half of the entity embeddings.
from kge.
from kge.
Our philosophy should be to stay simple unless needed otherwise. The advantage of having a single embedder is that all our code can assume that there is just one entity embedding per entity. Only if there are real use-cases (CP isn't one, imo), we should add support. Otherwise we may end up with a large, messy implementation with lots of code that is not needed.
from kge.
If I understand correctly, this translates only to handling different embedders for subjects and objects by default. Then we should have that by default. It shouldn't be much change to leave this option open. The other way around, not having this and experimenting with models which require it, would imply more changes, which make experimentation more cumbersome.
But, if I don't understand correctly and it implies considerable changes to the current architecture, then no. Readability counts, I think, and having code which is considerably less readable due to features not many will need is not something we want.
from kge.
Ok, I've added this in the simplest possible way, i.e., I removed the hard-coded embedding references.
The idea is that by default KgeModel creates the embedders (not models), but models can overwrite as they please. The only diference between DistMult and CP should be a flag in the embedder configuration, but they can share the same implementation otherwise.
from kge.
Perfect! Thank you!
from kge.
Related Issues (20)
- Support more metrics?
- How to apply HittER
- Number of negative samples during evaluation HOT 3
- web.informatik.uni-mannheim.de not accesible HOT 2
- ValueError thrown by `$ kge start examples/toy-complex-train.yaml` HOT 3
- Using buffer for writing to a file during preprocessing
- ConvE and reciprocal_relations_model HOT 2
- Getting output of libKGE
- Relation Prediction HOT 5
- Filtered _ro prediction HOT 1
- Frequency based sampling broken
- Error on tensor scoring HOT 1
- Adding user keys to config HOT 2
- Trial XXXXX failed: TypeError("step() missing 1 required positional argument: 'closure'") HOT 2
- ERROR: file:///content does not appear to be a Python project: neither 'setup.py' nor 'pyproject.toml' found. HOT 3
- generate embeddings HOT 1
- Trained embeddings are missing for Codex-{S/M/L} HOT 1
- dataset issues HOT 3
- Getting model predictions in parallel HOT 1
- About debug the program HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kge.