moabb icon indicating copy to clipboard operation
moabb copied to clipboard

Ensuring that braindecode objects dynamically reinitialize themselves even without the inputsetter.

Open bruAristimunha opened this issue 2 years ago • 1 comments
trafficstars

Original Conversation:

Hey @sylvchev and @carraraig,

How's it going? I've got a question I'd like to discuss with you. So, during execution time, we need to figure out how to get the value that defines the model. I've come up with a few options:

  1. We could grab this info during execution when we define the pipeline. There's a YAML file that does this with "$", but I'm not sure if the values will be available when we define the pipeline from the YAML.

  2. Another idea is to add some "dumb" values and use the InputSetterEEG from the Braindecode plot to redefine and reinitialize the model when the channel, classes, and input_window_size change. But we need to test it out to make sure it doesn't mess up the model.

  3. We could also build a Lazy Pytorch wrapper, similar to the NoisyLazyLinear implementation using the LazyModuleMixin. But this one needs some more investigating.

What do you guys think? Any other suggestions? Let me know!

Originally posted by @bruAristimunha in https://github.com/NeuroTechX/moabb/pull/328#discussion_r1133015518

bruAristimunha avatar Mar 19 '23 21:03 bruAristimunha

I think the inputsetter is a good option, and already merged. NoisyLazyLinear could be another solution but we could test it later.

sylvchev avatar Mar 20 '23 07:03 sylvchev