Giter Club home page Giter Club logo

fl-nilm's Introduction

Federated NILMtk

img

The current repository suggests a federated NILM disaggregator allowing to simulate distributed training to find a balance between high sampling rate required by deep models and the privacy of the consumers since no data is exchanged and the models are trained locally and aggregated at a central node.

Working flow

The suggested code allows the simulation of federated training setups. The suggested extension is fully compatible with the new API of NILMtk. It allows specifying the different buildings contributing to the training as well as the number of randomly selected clients in each training round. The figure below illustrates the different steps followed by the suggested code. Furthermore, the FedAvg algorithm is used for aggregating the locally trained models. Thus, the suggested code assumes that the same data is available for different clients. The disaggregator is compatible with all seq2point models implemented in Deep-NILMtk, where the model type can be specified as a hyperparameter for the FL framework.

img

How to run ?

docker build -t experiment_setup .
docker run --gpus 'all' --name exp_exec experiment_setup
docker cp exp_exec:/home/guestuser/model_evaluation ./results

Citation

Bousbiat, H.; Himeur, Y.; Varlamis, I.; Bensaali, F.; Amira, A.; Neural Load Disaggregation:Meta-analysis, Federated Learning and Beyond. Energies 2023

Copyright and license

Code released under the MIT Licence.


fl-nilm's People

Contributors

bhafsa avatar dbrtii avatar

Stargazers

Nipun Batra avatar Blanker avatar  avatar Omidreza Amrollahi avatar emt avatar Mazhar Ali avatar Jacob avatar  avatar endeavor avatar

Watchers

Kostas Georgiou avatar  avatar  avatar

fl-nilm's Issues

Dockerfile installation conflicts with Flower version

Installation with Dockerfile wants to install the Flower recent version from the requirement file which creates conflicts with the Numpy version. Tried different version of Flower framework which created new errors. Could not able to run FL-NILM using Dockerfile. Hoping to hear from you which version of Flower would work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.