Minki-Kim95 / Federated-Learning-and-Split-Learning-with-raspberry-pi

SRDS 2020: End-to-End Evaluation of Federated Learning and Split Learning for Internet of Things
MIT License
101 stars 31 forks source link
deep-learning distributed-computing federated-learning python pytorch raspberry-pi split-learning

Federated Learning and Split Learning with raspberry pie

This is for releasing the source code of the SRDS 2020 paper "End-to-End Evaluation of Federated Learning and Split Learning for Internet of Things".

If you find it is useful and used for publication. Please kindly cite our work as:

@inproceedings{gao2020end,
title={End-to-End Evaluation of Federated Learning and Split Learning for Internet of Things},
author={Gao, Yansong and Kim, Minki and Abuadbba, Sharif and Kim, Yeonjae and Thapa, Chandra and Kim, Kyuyeon and Camtepe, Seyit A and Kim, Hyoungshick and Nepal, Surya},
booktitle={The 39th International Symposium on Reliable Distributed Systems (SRDS)},
year={2020}}

Helpful Link

Description

This repository contains the implementations of various distributed machine learning models like Federated learning, split learning and ensemble learning

Requirements(Desktop)

Requirements(Raspberry pie3)

Repository summary

How to use

1. Run client on desktop

you need to use ~client.ipynb file

2. Run client on raspberry pie

you need to use ~client_rasp.ipynb or ~client_rasp.py file If you run these files, you can see the temperature, memory usage of raspberry pie.

Overall process

set hyperparameters

Running code

input information

Project members

Gao Yansong, Kim Minki, Abuadbba Sharif, Kim Yeonjae, Thapa Chandra, Kim Kyuyeon, Camtepe Seyit A, Kim Hyoungshick, Nepal Surya