Comments (5)
See also the discussion at the end of #43. Paraphrasing:
1+2. The purpose of get_option is to look at the right place in the current job/model/etc. It should stay and be used everywhere. Perhaps one could use a better name.
3+4 is good, but resolve_type is misleading (use resolve or resolve_via_type or allow_parent_lookup or sth along those lines)
from kge.
So your intention seems to be that config.get/set should not be called directly by non-core/internal stuff.
Then I would propose that the Config-object should be wrapped into a ConfigWrapper-class, which is then the gateway to config but checks and augments the config namespace.
class ConfigWrapper:
def __init__(self, configuree, config):
self._config_key = configuree.config_key
self._config = config
def get(... same as config.get ... ):
do KgeModel.get_option stuff here and call.self._config.get
def set(... same as config.set ... ):
do KgeModel.set_option stuff here and call.self._config.set
and in the init of a job or model
self.config = ConfigWrapper(self, config)
from kge.
- Merge
get
andget_default
- Rename default to backoff_via_type or allow_parent_lookup and make a boolean argument
get(..., backoff_via_type=True, ...)
as it is done forset(..., create=True, ...)
. Then we have one get and one set with either an option to have a backoff_via_type/create behaviour or not. - Introduce a ConfigWrapper that exposes a get/set method that checks the config namespace of the current object and then calls the private config object.
from kge.
We had a quick discussion and the idea is to use a Configurable
mixin. It has attributes config
and configuration_key
and provides methods get_option()
and set_option()
.
This may also largely avoid the need for using self._init_configuration(config, configuration_key)
; instead, the Configurable constructor can be used.
from kge.
Addressed in 61e1243
from kge.
Related Issues (20)
- bash: kge: command not found HOT 1
- 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
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.