Modified from https://github.com/Charliefff/Brain-node-classification/tree/main
- Use full 0–499 timesteps per trial (previously 0–374).
- Added wavelet transform for feature extraction.
- Changed data split from train / val / test to train / val only — planning to use n-fold cross-validation.
- Apply z-score normalization on validation data using training set mean and std for a more realistic evaluation setting.
- Added
flatConv_waveletEEGNetarchitecture. - Currently only tested EEGNet, waveletEEGNet, and flatConv_waveletEEGNet.
flatConv_waveletEEGNet_v2(which performs convolution over both band and time dimensions) is commented out for now —
its current input shape(batch, 1, channel, 1)is incompatible with EEGNet’s temporal convolution structure.
(Left for reference and possible future modification.)
- Replaced TensorBoard with standard logging.
- Introduced a workspace directory to store log files and model checkpoints.
- Removed test phase, since only train / val are used at this stage.
- Added this script to automate running
main.pyacross multiple parameter configurations.
pip install -r requirements.txtBefore training, update config.yaml with appropriate hyperparameters.
cd conv_based
python main.py --config config.yaml- Training results are saved under the directory:
{log_dir}/{exp_name}_{time} - Both
log_dirandexp_namecan be configured inconfig.yaml. - Each run creates a unique timestamped subfolder to store:
- Training logs
- Model checkpoints
- config file