https://github.com/alexanderbertrandlab/dynamic-channel-selection
Distributed Dynamic Channel Selection
https://github.com/alexanderbertrandlab/dynamic-channel-selection
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.8%) to scientific vocabulary
Repository
Distributed Dynamic Channel Selection
Basic Info
- Host: GitHub
- Owner: AlexanderBertrandLab
- Language: Python
- Default Branch: main
- Size: 146 KB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Distributed dynamic channel selection
About
This Python project is the PyTorch implementation of the distributed dynamic channel selection method proposed [1]. The purpose is to derive an optimal, instance-wise subset of features to employ for inference, with constraints being put on how often each feature is allowed to be selected on average. Its distributed implementation allows it to be employed for bandwith reduction in a wireless sensor network, by dynamicaly assigning only a subset of sensor to transmit their data to a fusion center. To boost performance, the model is also extended with the Dynamic Spatial Filtering module of Banville et al [2]. As an additional benchmark, an implementation of the greedy conditional mutual information (CMI) method of Covert et al. is also provided [3]. The dataset used int this work is the High Gamma Dataset [4], which can be accessed at https://github.com/robintibor/high-gamma-dataset. For the purposes of our application, this data has been preprocessed such that it emulates the data that would be measured in a wireless EEG sensor network, as described in [1]. The code in this repository operates on this preprocessed data, which can be found at https://zenodo.org/records/10907610. To run the code, first download this data into the Data folder.
Usage
To run the code, first install the conda environment from the environment.yml file.
conda create --name myenv --file environment.yml
Training the distributed dynamic channel selection model can be done with train_dynamic.py and the greedy CMI method with train_cmi.py. An example for doing this with the default setting is included in the run.sh file.
## References
[1] Strypsteen, Thomas, and Alexander Bertrand. "A distributed neural network architecture for dynamic sensor selection with application to bandwidth-constrained body-sensor networks." arXiv preprint arXiv:2308.08379 (2023).
[2] Banville, Hubert, et al. "Robust learning from corrupted EEG with dynamic spatial filtering." NeuroImage 251 (2022): 118994.
[3] Covert, Ian Connick, et al. "Learning to maximize mutual information for dynamic feature selection." International Conference on Machine Learning. PMLR, 2023.
[4] R. T. Schirrmeister, J. T. Springenberg, L. D. J. Fiederer, M. Glasstetter, K. Eggensperger, M. Tangermann, F. Hutter, W. Burgard, and T. Ball, “Deep learning with convolutional neural networks for EEG decoding and visualization,” Human brain mapping, vol. 38, no. 11, pp. 5391– 5420, 2017.
Owner
- Name: AlexanderBertrandLab
- Login: AlexanderBertrandLab
- Kind: organization
- Repositories: 12
- Profile: https://github.com/AlexanderBertrandLab
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1