distmsmatch
A MPI-distributed version of MSMatch integrating the PASEOS framework for physical modelling
Science Score: 54.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
-
✓Academic publication links
Links to: arxiv.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.3%) to scientific vocabulary
Keywords from Contributors
Repository
A MPI-distributed version of MSMatch integrating the PASEOS framework for physical modelling
Basic Info
Statistics
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 5
- Releases: 0
Metadata Files
README.md
DistMsMatch
Distributed Semi-Supervised Multispectral Scene Classification with Few Labels
Table of Contents
About The Project
This is the code to realize DistMSMatch, a distributed version of MSMatch. The repository includes an implementation of FixMatch for the semi-supervised training of different convolutional neural networks, including a U-Net Encoder, EfficientNet and EfficientNet Lite to perform scene classification on the EuroSAT dataset. The code builds on and extends the FixMatch-pytorch implementation based on PyTorch.
Built With
- PyTorch
- conda
- EfficientNet PyTorch
- EfficientNet Lite PyTorch
- albumentations
- papermill
- imageio, numpy, pandas
Getting Started
This is a brief example of setting up DistMSMatch.
Prerequisites
We recommend using conda to set-up your environment. This will also automatically set up CUDA and the cudatoolkit for you, enabling the use of GPUs for training, which is recommended.
- conda, which will take care of all requirements for you. For a detailed list of required packages, please refer to the conda environment file.
Installation
- Get miniconda or similar
- Clone the repo
sh git clone https://github.com/gomezzz/DistMSMatch - Setup the environment. This will create a conda environment called
distmsmatchsh conda env create -f environment.yml
Set up datasets
To launch the training on EuroSAT (rgb), it is necessary to download the corresponding datasets. Please place the dataset in /data/EuroSAT_RGB. Alternatively, you can change the root_dir variable in the datasets/EurosatRGBDataset.py to point to the dataset. The dataset can be download here.
Run training
The training is performed using the mpi4py package and utilizes multiple processes to control the different spacecraft.
Different configurations files in .toml format can be used to set-up DistMsMatch in swarm or federated mode.
The federated mode may be performed using a ground station or a geostationary satellite as parameter server.
To run the training using 8 spacecraft, you can proceed as follows:
mpiexec -n 8 python main.py --cfg_path path_to_cfg_file
`
If path_to_cfg_file is not specified, the default swarm learning scenario will be run using eight spacecraft.
Contributing
The project is open to community contributions. Feel free to open an issue or write us an email if you would like to discuss a problem or idea first.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Contact
Created by ESA's Advanced Concepts Team, $\Phi$-lab, and AI Sweden.
- Johan Östman - johan.ostman at ai.se
- Pablo Gómez - pablo.gomez at esa.int (ACT)
- Vinutha Magal Shreenath - vinutha at ai.se
- Gabriele Meoni - gabriele.meoni at esa.int ($\Phi$-lab)
Project Link: https://www.esa.int/gsp/ACT/projects/semisupervised/
License
Distributed under the MIT License. See LICENSE for more information.
Reference
If you have used DistMSMatch, please cite the following paper DistMSMatch:
@article{ostman2023distmsmatch,
author = {Östman, Johan and Gómez, Pablo and Shreenath, Vinutha Magal and Meoni, Gabriele},
title = {Decentralised Semi-supervised Onboard Learning for Scene Classification in Low-Earth Orbit},
journal = {arXiv:2305.04059 [cs.LG]},
year = {2023},
}
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "Decentralised Semi-supervised Onboard Learning for Scene Classification in Low-Earth Orbit"
authors:
- given-names: Johan
family-names: Östman
affiliation: >-
AI Sweden, Gothenburg, Sweden
orcid: "https://orcid.org/0000-0003-4138-0508"
- given-names: Pablo
family-names: Gómez
email: pablo.gomez@esa.int
affiliation: >-
Advanced Concepts Team, European Space Agency,
Noordwijk, The Netherlands
orcid: "https://orcid.org/0000-0002-5631-8240"
- given-names: Vinutha
family-names: Magal Shreenath
affiliation: >-
AI Sweden, Gothenburg, Sweden
- given-names: Gabriele
family-names: Meoni
affiliation: >-
Phi-Lab, European Space Agency, Rome, Italy
orcid: "http://orcid.org/0000-0001-9311-6392"
repository-code: "https://github.com/aidotse/PASEOS"
url: "https://paseos.readthedocs.io/en/latest/"
repository-artifact: "https://pypi.org/project/paseos/"
license: GPL-3.0
preferred-citation:
type: article
authors:
- given-names: Johan
family-names: Östman
affiliation: >-
AI Sweden, Gothenburg, Sweden
orcid: "https://orcid.org/0000-0003-4138-0508"
- given-names: Pablo
family-names: Gómez
email: pablo.gomez@esa.int
affiliation: >-
Advanced Concepts Team, European Space Agency,
Noordwijk, The Netherlands
orcid: "https://orcid.org/0000-0002-5631-8240"
- given-names: Vinutha
family-names: Magal Shreenath
affiliation: >-
AI Sweden, Gothenburg, Sweden
- given-names: Gabriele
family-names: Meoni
affiliation: >-
Phi-Lab, European Space Agency, Rome, Italy
orcid: "http://orcid.org/0000-0001-9311-6392"
doi: "10.48550/arXiv.2305.04059"
journal: "ArXiV"
title: "Decentralised Semi-supervised Onboard Learning for Scene Classification in Low-Earth Orbit"
year: 2023
GitHub Events
Total
- Push event: 1
- Fork event: 1
Last Year
- Push event: 1
- Fork event: 1
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| johanos1 | o****n@g****m | 33 |
| Pablo Gómez | c****t@p****t | 22 |
| GabrieleMeoni | g****i@e****t | 16 |
| Gabriele Meoni | 7****i | 3 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 9
- Total pull requests: 9
- Average time to close issues: 26 days
- Average time to close pull requests: 14 days
- Total issue authors: 2
- Total pull request authors: 3
- Average comments per issue: 0.22
- Average comments per pull request: 1.0
- Merged pull requests: 6
- 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
Top Authors
Issue Authors
- gomezzz (5)
- johanos1 (4)
Pull Request Authors
- johanos1 (4)
- gomezzz (3)
- GabrieleMeoni (2)