multi-shared-task-self-supervised-cnn-lstm
Multi-shared-task Self-supervised Learning utilizing CNN-LSTM network
https://github.com/mshuqair/multi-shared-task-self-supervised-cnn-lstm
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.8%) to scientific vocabulary
Keywords
Repository
Multi-shared-task Self-supervised Learning utilizing CNN-LSTM network
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Multi-shared-task Self-supervised (M-SSL) Multichannel CNN-LSTM
M-SSL Multichannel CNN-LSTM for UPDRS-III Estimation in PD Patients
Figure 1. The main algorithm for estimating UPDRS-III scores.
Figure 2. The correlation of the Supervised (left) and the proposed M-SSL (right) Multichannel CNN-LSTM.
- This code is to estimate UPDRS-III scores of PD patients.
- The MDPI Bioengineering journal has recently published the research associated with this code.
- Multi-Shared-Task Self-Supervised CNN-LSTM for Monitoring Free-Body Movement UPDRS-III Using Wearable Sensors: https://doi.org/10.3390/bioengineering11070689
- Please cite the paper if you find this work useful
General Note
- The code treats the estimation of UPDRS-III scores as a regression problem. If you want to use the model as a classifier, you need to alter the model's output layer and loss function.
- The code performs a leave-one-out subject-wise testing. You can replace the folds with the desired training and testing data.
- The original data is not available due to privacy concerns.
Code Requirements and Compatability
The code was run and tested using the following: - Python 3.10.11 - tensorflow 2.10.1 - keras 2.10.0 - h5py 3.10.0 - matplotlib 3.9.0 - numpy 1.26.3 - pandas 2.1.4 - scikit-learn 1.5.0 - scipy 1.13.1 - transforms3d 0.4.1
Formating Your Own Data
If you want to use your data, consider the following: - The shape of the input should be (n, 6), where n is the number of samples. - The six columns are Gyroscope Wrist X, Y, Z and Ankle X, Y, Z. - The labels are to be shaped as (n, 1). - Modify 'datagenerateraw.py', 'datageneratespectrogram.py', 'datapretextgenerateraw.py', and 'datapretextgeneratespectrogram.py' to remove any dependancy on orginal data.
Running the Model
- Run 'datagenerateraw.py' and 'datageneratespectrogram.py' to segment the Gyroscope Raw data and generate Spectrograms.
- Pretext Task: run 'taskpretextmultitask_dual.py' to pre-train the Multichannel CNN using the proposed Multi-shared-task Self-supervised Learning (M-SSL) approach.
- The code will generate the selected signal transformations and their spectrograms for the Pretext task.
- The pre-trained models will be saved in the 'models' folder
- Downstream Task: Run 'taskdownstreamdualcnnlstm.py' to transfer the weights from the pre-trained models, fine-tune them and evaluate the testing data.
- Baseline task: run 'taskbaselinedualcnnlstm.py' to get the model performance in a Supervised scenario (not using M-SSL).
- Use any of the analysis codes to calculate metrics and visualize outputs.
Conclusion
Owner
- Name: Mustafa
- Login: mshuqair
- Kind: user
- Company: Florida Atlantic University
- Repositories: 1
- Profile: https://github.com/mshuqair
PhD candidate and researcher focusing on machine learning, reinforcement learning and learning systems.
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Shuqair" given-names: "Mustafa" orcid: "https://orcid.org/0000-0002-9134-5447" title: "Multi-shared-task Self-supervised CNN-LSTM" version: 1.0 date-released: 2024-06-28 url: "https://github.com/mshuqair/Multi-shared-task-Self-supervised-CNN-LSTM"
GitHub Events
Total
- Push event: 4
Last Year
- Push event: 4
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0