Skip to content

QuanlingZhao/FedHD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FedHD - Federated Learning with Hyperdimensional Computing

This repository is the official implementation of FedHD Link(TBA Paper under review). System_flow

Aim / Motivation

An edge-device friendly, efficient and robust Federated Learning System using Hyperdimensional Computing.

Requirements

To install requirements:

pip install -r requirements.txt

Training

FedHD use Mosquitto(https://mosquitto.org/) MQTT broker for communication and broadcasting.

Start MQTT Broker

Go to FedML-Server-HD/executor/mqtt/ Start server MQTT broker:

bash run_mosquitto_server.sh

Note: Before start MQTT broker, one might want to change MQTT configration (IP, Port), you can do so by change /FedML-Server-HD/executor/mqtt/mosquitto.conf.

Start FedHD Broker

Go to FedML-Server-HD/executor/ :

python app_HD.py [--options]

You can change server default options by pass in flag or modify file directly, for complete hyper-parameter list are listed in app_HD.py. Please make sure MQTT IP and Port matches MQTT configration.

Start FedHD Clients

To start clients, go to FedML-IoT-HD/raspberry_pi/fedhd/ and run

python fedhd_rpi_client.py --server_ip XXX.XXX.XXX.XXX:XXXX --client_uuid XX 

Note: client uuid must be unique.

Evaluation

Setup
1 - Hidden Layer
2 - Fully Connected Layer

Results

Measurment
Result

Acknowledgement

FedHD are implemented based on FedML, an open-source Federated Learning framework.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published