WaveMind's EEG encoder training module for aligning EEG signals with CLIP semantic space through contrastive learning and supervised classification.
# Basic CLIP training (project root is auto-detected) python EEG_Encoder/run_CLIPtraining.py --config-name=train_atmsPure CLIP Training (default):
python EEG_Encoder/run_CLIPtraining.py --config-name=train_atmsJoint CLIP + Classifier (lambda=0.5):
python EEG_Encoder/run_CLIPtraining.py --config-name=train_classifierPure Classifier Training (lambda=0.0):
python EEG_Encoder/run_CLIPtraining.py --config-name=train_classifier_onlyAll presets are in EEG_Encoder/examples/. See YAML files for detailed parameters:
train_atms.yaml- CLIP training (default)train_classifier.yaml- Joint CLIP + Classifier (lambda=0.5)train_classifier_only.yaml- Pure supervised classifier (lambda=0.0)eval_sd.yaml- Subject-dependent evaluationeval_si.yaml- Subject-independent evaluationadvanced_shm.yaml- High-performance with shared memorybase.yaml- Full parameter reference
# Train on specific dataset python EEG_Encoder/run_CLIPtraining.py --config-name=train_atms experiment.datasets=[TUEV] # Use different model python EEG_Encoder/run_CLIPtraining.py --config-name=train_atms experiment.models=[EEGITNet] # Multi-GPU training python EEG_Encoder/run_CLIPtraining.py --config-name=train_atms experiment.gpu_number=['0','1','2'] # Adjust classifier lambda (80% CLIP, 20% classifier) python EEG_Encoder/run_CLIPtraining.py --config-name=train_classifier classifier.lambda_clip=0.8 # Evaluation with checkpoint python EEG_Encoder/run_CLIPtraining.py --config-name=eval_sd \ advanced.model_checkpoint_name=/path/to/model.pth # Advanced: shared memory + dynamic sampling python EEG_Encoder/run_CLIPtraining.py --config-name=advanced_shm \ training.DEFAULT_NUM_WORKERS=64ATMSmodify (default), ATMS, NICE, EEGITNet, EEGConformer, ShallowFBCSPNet, CBraMod, NeuroLM-B/L, MLP
See examples/base.yaml for complete list and model-specific parameters.
Checkpoints saved to: EEG_Encoder/Resource/Checkpoint/ALL/
Naming convention: {Model}_{Dataset}_{Timestamp}.pth
- CLIP-only: No suffix
- Pure classifier:
_CLSsuffix - Joint training:
_JOINT{lambda}suffix (e.g.,_JOINT50for lambda=0.5)
- Configuration details: See YAML files in
EEG_Encoder/examples/ - Project overview:
CLAUDE.mdin project root - Full pipeline: WaveMind documentation