Comments (8)
You need to use get_option
from kge.
Look at all other models (e.g., rescal), they show how to access the config correctly.
from kge.
The self.get_option is a very hacky solution:
-
F.ex. in rescal and complex,
config.set(self.configuration_key + ...)
is used and it seems to be working but notconfig.get(self.configuration_key + ...)
. -
self.get_option
is only used in the KgeModels but not in other parts of the framework and from a user perspective its not clear why.
from kge.
-
Sure you can set something that has not been set before. Instead of get, use get_default (see the Config docs).
-
get_option is merely a shortcut to automatically add a configuration key. Original plan was to put it up to KgeBase, not sure anymore why this doesn't happen. @rufex2001?
from kge.
I am only talking about usability, and at them moment this is confusing and error prone.
A nice API would be:
- get rid of get_option
- make the config_key a separate kwarg for config.get_default and do the check from get_option there.
- merge
get
andget_default
- rename default to resolve_type and make a boolean argument
get(..., resolve_type=True, ...)
as it is done forset(..., create=True, ...)
. Then we have one get and one set with either an option to have a resolve_type/create behaviour or not.
from kge.
1+2. I prefer the current way better. No need to specify the config key everywhere.
3+4. Sounds good. Should be named just resolve
or resolve_via_type
.
I think this is really low priority. We should instead use get_option
everywhere.
from kge.
Please open a new issue with the API changes. (This should be done carefully to not break any existing code.)
from kge.
1+2. I prefer the current way better. No need to specify the config key everywhere.
Correct, which is why it should be a optional argument.
I think this is really low priority.
I stumbled over this repeatedly. Now that I (unecessarily) understand the inner workings of config better and better it is low priority for me, but maybe not for others.
We should instead use get_option everywhere.
Also in the jobs?
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.