SPOClab-ca / dn3

The fusion of MNE and PyTorch for accelerated deep-neural-network based BCI-systems and Neurophysiology signal analysis.
BSD 3-Clause "New" or "Revised" License
64 stars 19 forks source link

Motivation / Improvements with regard to other libraries #64

Open robintibor opened 3 years ago

robintibor commented 3 years ago

Hi,

congratulations on this very interesting library!

I am cofounder of the braindecode library with similar aims (easier use of Pytorch and MNE together for EEG decoding).

I am very curious what made you create this library and what you may have found lacking in braindecode so we can also understand where we fall short of user expectations/needs.

Did you

Would be great to know! And congratulations again on the library, always great to see people pushing EEG+deep learning forward!! :)

kostasde commented 3 years ago

Hello, and thanks for checking out DN3, I appreciate the encouragement! I was/am aware of braindecode, and had a few reasons for developing DN3 as an alternative (though of course you're right, they are both based use PyTorch <-> MNE fusion).

  1. Originally a personal exercise, the original iteration of this project was well before I was aware of braindecode
  2. As I've developed a few projects, braindecode remained slightly limiting and I needed some more control that I've tried to bake in to DN3, e.g. it seemed braindecode was about offering more tools to get up and running quickly, but limited insofar as support for novel architectures and training procedures.
  3. I wanted to build a more configurable data loading system, and having control of the other half of the library so to speak, made sense (though admittedly the Configuratron could probably now be used with a variety of libraries in its current form, though it was at one time more DN3 specific)
robintibor commented 3 years ago

Thanks so much for your answer!

Then we know one future opportunity for braindecode is to make it easier and and clearer how to use braindecode in more complicated/customized settings. Our original concept was to cover two cases: (1) You want to do relatively standard stuff and need an easy-to-use library for deep learning EEG regression/classification, as shown in our main tutorials, (2) You want to do your own thing and want some predesigned models and dataset loading + preprocessing code and build other stuff around it by yourself. Maybe we will try to expand the second use case a bit better showcase it more and also provide more convenience functions.

Of course you are always warmly invited to contribute something to braindecode if it can help you! :)

And all the best with your future research in EEG deep learning, I think you are already doing a great job to raise the bar in the field by applying more state-of-the-art DL methods to EEG decoding with a high quality!