-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Plugin based mechanism for Dataset definitions #284
Comments
I think this is a good idea. I expect it will significantly clean up the scripts and remove a lot of code duplication between them. I do have a few concerns, but I think those should not be a problem:
I prefer github for discussions on code because the threshold is lower for random people to read it and join in. We can discuss on slack in person to get things going though. I'll summarize here from time to time if it feels important. |
Should we close this issue and continue discussion on the PR? |
@hgaiser Perhaps leave it open until PR resolved? However, I see your point of discussing purely on the PR. But it would be nice to close this alongside PR resolution. |
Agreed, lets keep the discussion at PR #291, but leave this open until it is actually resolved. |
The idea would be to encapsulate datasets. All datasets share a common interface, for generators, evaluators, etc. When we create datasets, the same type of code is executed, but leads to an ugly long if chain.
The common use-case seems to be that people will want to make their own dataset, or to support future object datasets. In these instances modifying every mention within the source code can be tedious and error-prone.
I propose the use of a the plugin pattern. This allows those who so wish to drag a folder in, be self-loaded, self-identified. Then a mechanism ( I want to say strategy ) will select the appropriate plugin if loaded, and invoke whatever method via the interface. E.g
getGenerators
.I spoke briefly to @hgaiser about this, and he recommended I make this issue, so that @de-vri-es can have a look.
I have been working on this as my project requires a confidential dataset, and keeping up with development changes is getting difficult with multiple files needing to be edited. I have made my own Dataset Class, as it is very similar to VOC standard but needed tweaking.
There is currently a library for handling a plugin system, which is minimal and written in standard python. I found very little in the way of Python Plugin systems in recent times, all seem to date 4+ years ago.
The text was updated successfully, but these errors were encountered: