GithubHelp home page GithubHelp logo

gnnain / fedonce Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jerrylife/fedonce

0.0 0.0 0.0 126 KB

Practical Vertical Federated Learning with Unsupervised Representation Learning (TBD 2022)

Python 100.00%

fedonce's Introduction

FedOnce

One-Shot Vertical Federated Learning Algorithm

Code Structure

This project contains 4 folders:

  • model
  • privacy
  • torchdp (Cloned from facebook/pytorch-dp, now facebook/opacus)
  • utils

Requirements

This project requires conda 4.11.0. The required environment is included in environment.yml. Please run

$ conda env create --name fedonce --file=environments.yml
$ conda activate fedonce

Reproduce the experimental results

Each script is corresponding to a dataset in our experiments

  • gisette: gisette
  • covtype: covtype
  • phishing: phishing
  • uj: UJIIndoorLoc
  • superconduct: Superconduct
  • mnist: MNIST
  • kmnist: KMNIST
  • fashion_mnist: Fashion-MNIST
  • wide: NUS-WIDE
  • movielens: MovieLens

Experiment 1: Communication efficiency of FedOnce-L0

Command format: python3 run_<dataset_name>.py For example: python3 run_mnist.py The script will output the accuracy/RMSE for FedOnce-L0 and baselines (Experiment 5 will run after Experiment 1). The communication cost in each round will be recorded under logs/. Then, we use utils/output_loader.py to help load information from logs.

Experiment 2: Performance of FedOnce-L0

Command format: python3 run_<dataset_name>.py For example: python3 run_mnist.py The script will output the accuracy/RMSE for FedOnce-L0 and baselines.

Experiment 3: Performance of FedOnce-L1

Command format: python3 run_dp_<dataset_name>.py For example: python3 run_dp_mnist.py The script will output the accuracy/RMSE for FedOnce-L1 and baselines.

Experiment 4: Performance of FedOnce-L0 on biased datasets

Command format: python3 run_bias_<dataset_name>.py For example: python3 run_bias_phishing.py The script will output the accuracy/RMSE for FedOnce-L1 and baselines.

Experiment 5: Communication efficiency of FedOnce-L0 (more rounds)

Command format: python3 run_<dataset_name>.py For example: python3 run_mnist.py The script will also output the accuracy/RMSE for FedOnce-L0 (more rounds) after finishing Experiment 1. The communication cost in each round will be recorded under logs/. Then, we use utils/output_loader.py to help load information from logs.

Experiment 6: Scalability of FedOnce-L0

Command: python3 run_multi_gisette.py

Experiment 7: Linear-Combine

Command: python3 run_linear.py

fedonce's People

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.