-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
CSGObject: all parameters needed in generic base class? #2113
Comments
Let me try to understand what you are after, currently I am a bit confused. Both parameter and model-selection parameters are bound to classes (which parameters are registered), but in fact also to instances of classes since the TParameter pointers point to the member variable memory. |
I can imaging that you're confused, because model selection and parameter frameworks are two different things. Let's talk about model selection parameters first: Why do we need maintain data for model selection when, for example, creating labels, io or ui classes? Is it somehow possible to put it to the places where it's actually needed? |
Its not that different: Both parts allow to register member variables that already exist in memory for accessing them from outside. If you do not register model selection parameters, the list is empty, the overhead is minor, but in fact we could make the container NULL if there is nothing in there to reduce the footprint of CSGObject. A way to separate things would be to have a separate base class for algorithms or things that are used in algorithms, and then another base class (maybe the Shogun base) for framework parts. But I dont really see the use here. But maybe you know better? |
No new features, but less code, hopefully better tested code of better quality. Use? None. Sorry to disappoint you. ;) |
About model selection again: Which classes do need the model selection framework and which don't? |
All classes that register parameters for model-selection need the framework. Look for MS_AVAILABLE in the SG_ADD macro. Not sure where this is going now though |
It's about cleaning up things. Making them maintainable. If things are so tied together as they are right now, then this will bring us pain. Currently I'm not clear what we can do easily and what we can't do. But I see:
What is it that you're not sure about? |
Yep I agree,
If those could have base classes for dealing with things as model-selection parameters, this would maybe be a bit cleaner.... |
This will all be better with tags, once merged |
@karlnapf - talking about CSGObject again, I again suggest pulling out some variables from CSGObject class. Since this state is shared in every object, this seems to be lot more than really needed.
As you worked as well on
Do you think (a) they are all necessary and (b) do you have an idea how to pull this out? Easy ideas first, we can do this step-by-step. :)
The text was updated successfully, but these errors were encountered: