fedlabsyncncmapss

Federated Learning with Hybrid Data Partitioning using NCMAPSS datasets

https://github.com/rhllasag/fedlabsyncncmapss

Science Score: 67.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 6 DOI reference(s) in README
  • Academic publication links
    Links to: sciencedirect.com, mdpi.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Federated Learning with Hybrid Data Partitioning using NCMAPSS datasets

Basic Info
  • Host: GitHub
  • Owner: rhllasag
  • Language: Jupyter Notebook
  • Default Branch: developer
  • Size: 18.4 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Citation

README.md

Collaborative Remaining Useful Life ($\textit{RUL}$) estimation of turbofan engines

This repository contains code for simulating a collaborative prognostics problem, the Remaining Useful Life estimation of turbofan engines located at different parties (airlines). Collaborative problem simulates the participation of three airlines differing in flight lengths (Flight Classes): short-length flights (i.e., flight class 1), medium-length flights (i.e., flight class 2), or long-length flights (i.e., flight class 2).

| Flight Class | Flight Length [h] | :-----------: | :-----------:
| 1 | 1 to 3
| 2 | 3 to 5
| 3 | 5 to 7

Those flight classes comes from the new C-MAPSS (Commercial Modular Aero-Propulsion System Simulation) dataset from NASA for aircraft engines. More details about the generation process can be found at https://www.mdpi.com/2306-5729/6/1/5.

This notebook reused the inception-based CNN network and its pre-processing precedures to estimate the $\textit{RUL}$ of engines experiencing a determined flight class (FC). Datasets (FC_dev.h5 and FC_test.h5) for each FC are generated by executing:

  • 1) Spliting a given dataset by Flight Class.ipynb
  • 2) Concatenating datasets by Flight Class.ipynb

The collaborative problem, simulated using the Federated Label Synchornization FedLabSync algorithm, uses Tensorflow tf.distribute.Strategy to distribute the work along multiple GPUs. To run this code, a cluster of GPUs must be configured. Hyperparameters for distributed Machine Learning experiments are configured in "Global Variables" Section, e.g., number of nodes (parties participating in the ferated network) and the current node for which the federated model is trained.

Federated experiments using FedMulLabSync are implemented in:

  • Collaborative prediction using NCMAPSS.ipynb

Federated experiments using FedAvg (Vanilla FL) are implemented in:

  • Federated Averaging for RUL Estimation.ipynb

Please consider citing the following manuscript when using code from this repository:

@article{LLASAGROSERO2025110751, title = {Label synchronization strategies for hybrid federated learning}, journal = {Reliability Engineering & System Safety}, volume = {256}, pages = {110751}, year = {2025}, issn = {0951-8320}, doi = {https://doi.org/10.1016/j.ress.2024.110751}, url = {https://www.sciencedirect.com/science/article/pii/S0951832024008226}, author = {Raúl {Llasag Rosero} and Catarina Silva and Bernardete Ribeiro and Melania Albisser and Martin Brutsche and Manuel {Arias Chao}}, keywords = {Artificial intelligence, Federated learning, Predictive maintenance, Condition-based maintenance} }

Copyright (c) by Raúl Llasag Rosero

Installation Prerequisites

  • Python > 3.10
  • Anaconda > 3.11
  • CUDA Toolkit compatible with tensorflow==2.10.0
  • cuDNN Library compatible with tensorflow==2.10.0
  • Cluster of GPUs to configure tf.distribute.Strategy

Installation guide

git clone https://github.com/rhllasag/fedLabSync.git

Conda Environment

cd fedLabSync

conda env create --file environment.yaml

conda activate fedLabSync

pip install fedLabSync

pip install psg_utils==0.1.6

pip install typing-extensions==4.6.0

pip install tables

pip install tables

pip install carbontracker

pip install tensorflow_addons

pip install seaborn

Pypi Installation in case of fedLabSync unavailability

python setup.py bdist_wheel

pip install dist/fedLabSync-0.0.3-py3-none-any.whl --force-reinstall

Download current repository and run current notebooks

cd ..

git clone https://github.com/rhllasag/fedLabSyncNCMAPSS.git

Owner

  • Name: RaulHomero
  • Login: rhllasag
  • Kind: user
  • Location: Sangolqui
  • Company: CRSOFT

PhD Student at Univerisity of Coimbra

Citation (CITATION.cff)

cff-version: 1.2.0
message: "Please cite this manuscript when using code from this repository."
authors:
  - family-names: "Llasag Rosero"
    given-names: "Raúl"
    orcid: "https://orcid.org/0000-0001-7020-1439"
  - family-names: "Silva"
    given-names: "Catarina"
    orcid: "https://orcid.org/0000-0002-5656-0061"
  - family-names: "Bernardete"
    given-names: "Ribeiro"
    orcid: "https://orcid.org/0000-0002-9770-7672"
  - family-names: "Albisser"
    given-names: "Melania"
  - family-names: "Brustche"
    given-names: "Martin"
  - family-names: "Arias Chao"
    given-names: "Manuel"
    orcid: "https://orcid.org/0000-0001-6134-3582"
title: Label synchronization strategies for hybrid federated learning
version: 2.0.4
doi: 10.5281/zenodo.1234
url: "https://doi.org/10.5281/zenodo.1234"
type: journal-article
journal: "Reliability Engineering & System Safety"
volume: 256
issue: 110751
year: 2025
date-released: 2024-12-16

GitHub Events

Total
  • Push event: 12
Last Year
  • Push event: 12