Requirements:
- Python 3.11
- Dependencies:
numpy==2.3.3
scipy==1.16.2
PyWavelets==1.9.0
matplotlib==3.10.6
torch==2.8.0+cu129
torchaudio==2.8.0+cu129
torchvision==0.23.0+cu129
torchmetrics==1.8.2
torchsummary==1.5.1
pandas==2.3.3
typing_extensions==4.15.0
Instructions:
Event Detection:
- Run training for event detection (indexing) by executing src/event_detection/n_event_det_train.py
- model_name variable can be modifed to create new or overwrite exsisting model .pt files
- Saves the .pt files required for inference in src/event_detection/models
- Run inference for event detection (indexing) by executing src/event_detection/n_event_det_pipeline.py
- Use model_name to configure the utilised .pt file
- Saves the .pkl files containing the resultant list of inferred indices in src/event_detection/outputs
Classifcation:
- Run training for classification by executing src/neuron_cls/n_cls_train.py
- model_name variable can be modifed to create new or overwrite exsisting model .pt files
- Saves the .pt files required for inference in src/neuron_cls/models
- Run inference for classification by executing src/neuron_cls/n_cls_pipeline.py
- Requires src/event_detection/outputs
- Use model_name to configure the utilised .pt file
- Saves the .pkl files containing the resultant list of inferred indices in src/neuron_cls/outputs
Full Sequencer and Export:
- Run all infernce and export by executing src/sequencer/seq.py
- Use model_name_evt and model_name_cls to configure the utilised .pt files
- Can be run using existing .pkl files (if present).
- Trigger inference for both idx and cls by setting the argument run_inference.
- Export to src/sequencer/outputs/sub
Repository Structure:
data/ # CW specific dataset .mat files
│
src/
│
├── common/
│ ├── io.py # loading, saving, export utilities
│ └── paths.py # central directory resolver
│
├── event_detection/
│ ├── n_event_det_train.py # training script
│ ├── n_event_det_pipeline.py # inference script
│ ├── models/ # saved .pt detectors
│ └── outputs/ # saved index .pkl files
│
├── neuron_cls/
│ ├── n_cls_train.py # classification training
│ ├── n_cls_pipeline.py # classification inference
│ ├── models/ # saved .pt classifiers
│ └── outputs/ # saved classes .pkl files
│
└── sequencer/
├── seq.py # full workflow + export
└── outputs/
├── vis/ # waveform/class visual export
└── sub/ # submission-ready .mat files