Altaheri / EEG-ATCNet

Attention temporal convolutional network for EEG-based motor imagery classification
https://ieeexplore.ieee.org/document/9852687
Apache License 2.0
173 stars 22 forks source link

question about the setting of n_train when LOSO is used #4

Closed plyplyply closed 1 year ago

plyplyply commented 1 year ago

Thanks for your excellent work! I've got a question about the setting of n_train when LOSO is used. In your code, you set n_train as 10 when the model is trained using subject-dependent approach, which is, the default setting. Is n_train still be set as 10 when subject-independent approach is adopted(i.e. LOSO==True)??? As long as LOSO is adopted, it will be much more time consuming if n_train is 10 comparing to its subject-dependent counterpart. Looking forward for your reply!

Altaheri commented 1 year ago

Hi, thank you for your interest,

"n_train" represents the number of repetitions or runs of the training/testing procedure. So, we can get the best/average performance over all runs. In our final experiments (after all parameters are defined), we set the number of repetitions (n_train) to 10 in both subject-dependent and subject-independent (LOSO). For LOSO, the training time will be much more than the subject-dependent because the training data is much larger. You can set "n_train" to any value depending on the performance of your GPU. "n_train" = 3 or 5 is also fine. The important thing is to use the same "n_train" value for all the other models you're comparing to. We have a GTX 2070 GPU and the experiment time for "n_train" = 10 was acceptable. Also, in your early experiments (while developing the model), you can reduce the number of repetitions (n_train) and in the final experiments, you can increase them.

Hope this answers your question

plyplyply commented 1 year ago

Many thanks to your detailed replies and great advices! I’m also curious about the time cost for subject-independent training conducted on your GTX 2070 GPU. When LOSO is turned on and n_train is set as 1, it takes me about 7 hours to complete the training procedure with a single 1080ti.

Altaheri commented 1 year ago

I don't remember how long it took. However, I just run LOSO experiment with (n_train = 1) using a single 1080 ti 12G GPU and the time was 2.4h.